PHP - 변수

은나현·2023년 8월 2일
0

📌 1. PHP 변수 선언 및 명명

📍1-1. 선언

  • PHP에서는 달러($) 기호를 사용하여 변수를 선언한다.

    • $변수이름 = 초깃값;
    • 변수를 선언할 때 따로 타입을 명시하지 않으며, 초깃값에 따라 자동으로 결정된다.
    <?php
    	$var1 : 10; // 정수 타입 함수 var1 선언
      	$var2 : 3.14; // 실수 타입 함수 var2 선언
      	$var3 : "php"; // String 타입 함수 var3 선언
    ?>

📍1-2. 명명 규칙

  • 영문 대소문자, 숫자, 언더스코어(_)로만 구성된다.
  • 숫자와의 구분을 빠르게 하기 위해 숫자로는 시작할 수 없다.
  • 공백이 포함될 수 없다.
  • 기본적으로 정의되어 있는 $this는 사용할 수 없다.
  • 대소문자를 구분한다.

📍1-3. 초기화

  • PHP에서는 선언 동시에 초기화가 필수적이지 않다.
    초기화되지 않았을 경우 기본값으로 자동 초기화된다.
    타입기본값
    불리언(boolean)FALSE
    정수(integer)0
    실수(float)0.0
    문자열(string)빈 문자열
    배열(array)빈 배열

➕ 문자열 내에서의 변수 표시

  • 문자열 내에서 정의된 변수의 이름을 사용하면 자동으로 변환되지만 이름 뒤에 연속적으로 다른 문자가 올 경우 인식하지 못한다.
    따라서 중괄호({})로 변수 이름을 감싸서 명시해야 한다.
    $var = 10;
    #----------연속된 문자가 없을 경우에는 중괄호 없이도 정상 출력됨
    echo "$var";	// 10
    echo "{$var}";	// 10
    #----------연속된 문자가 있으면 해당 문자까지 포함해서 찾으므로 중괄호 필요
    echo "변수 \$var의 값은 $var이다.";	// 변수 $var의 값은 .
    echo "변수 \$var의 값은 {$var}이다.";	// 변수 $var의 값은 10이다.

📌 2. 변수의 종류

  • 변수의 유효 범위(variable scope, 변수를 참조하거나 사용할 수 있는 범위)에 따라 3종류로 구분된다.

📍2-1. 지역 변수(local variable)

  • 함수 내부에서 선언된 변수이다.
    • 함수 내부에서만 접근할 수 있다.
    • 함수의 호출이 종료되면 메모리에서 제거된다.

📍2-2. 전역 변수(global variable)

  • 함수 밖에서 선언된 변수이다.
    • 함수 밖에서만 바로 접근할 수 있다.
    • 함수 내부에서 접근하고자 할 때는 global 키워드를 사용한다.
      $var = 10;
      function varFunc(){
      	global $var; // 함수 내에서 사용할 전역 변수 명시
          echo "함수 내부에서 전역 변수 {$var} 호출";
      }

➕ GLOBALS

  • PHP는 모든 전역 변수를 $GLOBALS 배열에 저장한다.
    • 해당 배열에 인덱스로 변수 이름을 사용하면 전역 변수 값에 접근할 수 있다.
    • 함수 내부에서도 접근할 수 있으며, 이 배열을 통해 변수의 값을 변경할 수도 있다.
      $var = 10;
      function varFunc(){
          echo "함수 내부에서 배열을 통해 전역 변수 접근 : {$GLOBALS['var']}<br>";
          $GLOBALS['var'] = 20;
          echo "함수 내부에서 배열을 통해 전역 변수 변경 : {$GLOBALS['var']}";
      }  

➕ 슈퍼 글로벌(superglobal)

  • PHP에서는 선언 없이 바로 사용할 수 있도록 미리 정의된 전역 변수 슈퍼 글로벌을 제공한다.

  • 제공되는 슈퍼 글로벌 목록

    $GLOBALS$_SERVER$_GET
    $_POST$_FILES$_COOKIE
    $_SESSION$_REQUEST$_ENV

📍2-3. 정적 변수(static variable)

  • 함수 내부에서 static 키워드로 선언한 변수
    • 함수 호출이 종료되더라도 메모리상에서 사라지지 않는다.
    • 지역 변수와 같이 함수 내부에서만 접근할 수 있다.
      function counter(){
      	static $count = 0; // 함수 호출이 종료되어도 값이 초기화되지 않고 유지됨
          $count++;
      }
      counter(); // count = 1
      counter(); // count = 2
      counter(); // count = 3

1개의 댓글

comment-user-thumbnail
2023년 8월 2일

유익한 글이었습니다.

답글 달기