Web
Php 분류

PHP 변수

작성자 정보

  • console 작성
  • 작성일

컨텐츠 정보

본문

변수(variable)

변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간입니다.

즉, 변수란 데이터(data)를 저장할 수 있는 메모리 공간이며, 저장된 값은 변경될 수 있습니다.


변수의 선언

PHP에서는 달러($) 기호를 사용하여 다음과 같이 변수를 선언합니다.

문법

$변수이름 = 초깃값;

 

PHP에서 변수를 선언할 때는 변수의 이름 앞에 달러($) 기호를 사용하여 선언합니다.

 

또한, C언어와는 달리 변수를 선언할 때 따로 타입을 명시하지 않습니다.

PHP에서 변수의 타입은 해당 변수에 대입하는 값에 따라 자동으로 결정되기 때문입니다.

 

PHP 타입에 대한 더 자세한 사항은 PHP 기본 타입 수업에서 확인할 수 있습니다.

PHP 기본 타입 수업 확인 =>

 

예제

$var = 10;    // 정수값을 대입함

$var = 3.14;  // 실수값을 대입함

$var = "PHP"// 문자열을 대입함

코딩연습 ▶

 

위의 예제에서 변수 $var는 처음에는 정수형 변수였다가, 나중에는 실수형 변수, 마지막에는 문자열 변수로 바뀝니다.

이처럼 PHP에서는 변수에 대입되는 값에 따라 자동으로 타입 변환이 일어납니다.

 

PHP 타입 변환에 대한 더 자세한 사항은 PHP 타입 변환 수업에서 확인할 수 있습니다.

PHP 타입 변환 수업 확인 =>

 

gettype() 함수는 인수로 전달받은 데이터의 타입을 출력하는 함수입니다.

변수 이름의 생성 규칙

변수의 이름은 그 변수가 가지는 데이터의 의미를 잘 나타내도록 작성하는 것이 좋습니다.

PHP에서는 이러한 변수의 이름을 작성할 때 반드시 지켜야 하는 다음과 같은 규칙이 있습니다.

 

1. 변수의 이름은 영문 대소문자, 숫자, 언더스코어(_)로만 구성됩니다.

2. 변수의 이름은 숫자와의 구분을 빠르게 하기 위해 숫자로는 시작할 수 없습니다.

3. 변수의 이름에는 공백이 포함될 수 없습니다.

4. 변수의 이름으로 PHP에서 미리 정의한 $this는 사용할 수 없습니다.

5. 변수의 이름은 대소문자를 구분합니다.

 

PHP에서 변수는 이름을 가지고 식별하므로, 변수의 이름은 식별자(identifier)입니다.

식별자(identifier)란 변수나 함수, 클래스의 이름과 같이 해당 요소를 식별할 때 사용하는 이름을 가리킵니다.

 

이렇게 작성한 변수의 이름을 문자열 내에서 사용하면, PHP는 해당 변수에 저장된 값으로 자동 변환해 줍니다.

하지만 이때 변수의 이름 뒤에 다른 문자가 오게 되면, 변수의 이름을 정확히 인식하지 못합니다.

따라서 문자열 내에 변수의 이름을 사용할 때는 중괄호({})로 변수의 이름을 감싸서, 어디까지가 변수의 이름인지를 명확히 명시해야 합니다.

예제

$var = 10;

 

 echo "$var";   // 10

② echo "{$var}"; // 10

 

③ echo "변수 \$var에 저장된 값은 $var입니다.";   // 변수 $var에 저장된 값은 .

④ echo "변수 \$var에 저장된 값은 {$var}입니다."; // 변수 $var에 저장된 값은 10입니다.

코딩연습 ▶

 

위 예제의 ①번과 ②번 라인과 같이 변수의 이름 뒤에 아무런 문자도 나오지 않으면 크게 상관이 없습니다.

하지만 ③번 라인과 같이 변수의 이름 뒤에 다른 문자가 나오게 되면, PHP 파서는 "$var"라는 변수의 이름을 찾는 대신에 "$var입니다"라는 이름을 가진 변수를 찾습니다.

따라서 ④번 라인과 같이 변수의 이름을 중괄호로 감싸야만 PHP 파서가 변수의 이름을 정확히 인식할 수 있습니다.


변수의 초기화

PHP에서는 반드시 변수의 선언과 동시에 그 값을 초기화할 필요가 없습니다.

초기화되지 않은 변수는 해당 변수가 참조되거나 사용되는 위치에 따라 다음과 같은 기본값으로 자동 초기화됩니다.

타입 기본값
불리언(boolean) FALSE
정수(integer) 0
실수(float) 0.0
문자열(string) 빈 문자열
배열(array) 빈 배열

 

예제

// 선언되지 않은 변수의 기본값

var_dump($var);                              // NULL

 

// 초기화되지 않은 불리언(boolean) 타입 변수의 기본값

echo $bool ? "true<br>" : "false<br>";       // false

 

// 초기화되지 않은 정수(integer) 타입 변수의 기본값

$int += 10var_dump($int);                  // 0 + 10 = 10

 

// 초기화되지 않은 실수(float) 타입 변수의 기본값

$flt += 3.14var_dump($flt);                // 0.0 + 3.14 = 3.14

 

// 초기화되지 않은 문자열(string) 타입 변수의 기본값

$str .= "프로그래밍"var_dump($str);        // ""."프로그래밍" = "프로그래밍"

 

// 초기화되지 않은 배열(array) 타입 변수의 기본값

$arr[2= "2번째 배열 요소"var_dump($arr); // array(1) { [2]=> string(21) "2번째 배열 요소" }

코딩연습 ▶

 

위의 예제에서 사용된 다양한 연산자에 대한 더 자세한 사항은 PHP 연산자 수업에서 확인할 수 있습니다.

 

PHP 연산자 수업 확인 =>

 

위의 예제처럼 PHP에서는 변수를 초기화할 필요가 없지만, 될 수 있으면 사용하기 전에 초기화하는 것이 좋습니다.


관련자료

댓글 0
등록된 댓글이 없습니다.
전체 40 / 1 페이지
RSS
  • 웹개발에 자주 쓰는 자바스크립트 라이브러리들 - 슬라이…
    등록자 tjslli
    등록일 05.08 조회 1710

    Html 슬라이드/갤러리 (Carousel) 01. 가장 유명한 Slick - https://kenwheeler.github.io/slick/ 설치 &l…

  • [CSS]css 가상 선택자 정리 및 비교 (nth-c…
    등록자 CSS러버
    등록일 05.08 조회 1625

    Html :nth-child(N)= 부모안에 모든 요소 중 N번째 요소 A:nth-of-type(N)= 부모안에 A라는 요소 중 N번째 요소 :first…

  • 스크롤 이벤트 감지 + jquery + css
    등록자 webveloper
    등록일 04.15 조회 1738

    Html 1. css .caritem{display:flex;align-items:end;flex-direction:column;background:#0…

  • slick slider 커스텀으로 꾸미기 + jquer…
    등록자 webveloper
    등록일 04.15 조회 1775

    Html 1. import <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.n…

  • 호버(hover) 할 때 jquery 이벤트 감지 방법
    등록자 webveloper
    등록일 04.15 조회 1787

    Html 안녕하세요. html 코딩 시 hover 할때 감지하는 이벤트 스크립트입니다. <style> .con-group { display: …

  • 그누보드 썸네일 이미지 화질 개선 방법
    등록자 PixelProphet
    등록일 01.10 조회 2736

    Php 그누보드에서 이미지를 올릴때, 간혹 이미지 화질이 떨어져 보이는 현상이 있습니다.... 이럴 때 제가 찾아본 방법 중에 가장 쉽게 해결 할 수 …

  • React 유튜브 채널 추천
    등록자 코드워리어
    등록일 01.09 조회 2200

    React React는 웹 개발에서 매우 인기 있는 라이브러리로, 학습을 위해 다양한 자료들이 필요합니다. React를 학습하고 싶은 분들을 위한 유튜버 …

  • PHP 배열의 기초
    등록자 console
    등록일 01.05 조회 2530

    Php 배열(array)이란? PHP에서 배열(array)은 맵(map)으로 이루어진, 순서가 있는 집합을 의미합니다. 맵(map)은한 쌍의 키(key…

  • PHP 기타 제어문
    등록자 console
    등록일 01.05 조회 2562

    Php 루프의 제어 일반적으로 조건식의 검사를 통해 루프로 진입하면,다음 조건식을검사하기 전까지 루프 안에 있는 모든 명령문을 실행합니다. 사용자는 c…

  • PHP 반복문
    등록자 console
    등록일 01.05 조회 2532

    Php 반복문 반복문이란 프로그램 내에서 같은 명령을 일정 횟수만큼 반복하여수행하는명령문입니다. 프로그램이 처리하는 대부분의코드는 반복적인 형태가 많으…

  • PHP 조건문
    등록자 console
    등록일 01.05 조회 2382

    Php PHP 표현식 표현식(expressions)은 PHP에서 가장 중요한 구성요소입니다. 표현식이란 모든 것이 값을 갖는다는 의미이며, PHP에서 …

  • PHP 기타 연산자
    등록자 console
    등록일 01.05 조회 2349

    Php 삼항 연산자(ternaryoperator) 삼항 연산자는 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다. 삼항 연산자의 문법은 다음과 같…

  • PHP 비트 연산자
    등록자 console
    등록일 01.05 조회 2557

    Php 비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다. 또한, 비트…

  • PHP 논리 연산자
    등록자 console
    등록일 01.05 조회 2615

    Php 논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다. and, or, …

  • PHP 비교 연산자
    등록자 console
    등록일 01.05 조회 2636

    Php 비교 연산자(comparisonoperator) 비교 연산자는피연산자사이의 상대적인 크기를 판단하여,참(true)과 거짓(false)을 반환합니…