PHP 변수

변수는 정보를 저장하는 컨테이너입니다

예제

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

실행 예제

대수와 유사하게

x=5
y=6
z=x+y

대수에서는 문자(예: x)를 사용하여 값(예: 5)을 저장합니다

위의 표현식 z=x+y에서 z의 값은 11로 계산할 수 있습니다

PHP에서 이 세 글자는 다음과 같이 불립니다변수.

주의사항:변수를 데이터를 저장하는 컨테이너로 생각해야 합니다

PHP 변수

대수와 마찬가지로 PHP 변수는 값(예: x=5)과 표현식(x+y)을 저장할 수 있습니다

변수 이름은 짧을 수도 있고(예: x와 y), 더 설명적인 이름을 가질 수도 있습니다(예: carname, total_volume)

PHP 변수 규칙:

  • 변수는 $ 기호로 시작하며, 그 다음은 변수 이름이 와야 합니다
  • 변수 이름은 반드시 문자나 언더스코어로 시작해야 합니다
  • 변수 이름은 숫자로 시작할 수 없습니다.
  • 변수 이름은 문자, 숫자, 밑줄( A-z, 0-9 및 _)만 포함할 수 있습니다.
  • 변수 이름은 대소문자 구분이 매우 중요합니다($y와 $Y는 두 개의 다른 변수입니다)

주의사항:PHP 변수 이름은 대소문자 구분이 매우 중요합니다!

PHP 변수 생성

PHP는 변수를 생성하는 명령어가 없습니다.

변수는 처음으로 값을 할당할 때 생성됩니다:

예제

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

실행 예제

위의 문장이 실행되면, txt 변수는 "Hello world!" 값을 저장하고, x 변수는 5 값을 저장하고, y 변수는 10.5 값을 저장합니다.

주의사항:변수에 대한 값을 할당할 때 텍스트라면 값을 인용문으로 둘러싸세요.

PHP는 타입 희소한 언어입니다

위의 예제에서는 PHP 변수의 데이터 타입을 알려주지 않아도 됩니다.

PHP는 그 값에 따라 자동으로 변수를 올바른 데이터 타입으로 변환합니다.

C와 C++ 그리고 Java와 같은 언어에서는, 프로그래머는 변수의 이름과 타입을 사용하기 전에 선언해야 합니다.

PHP 변수 영역

PHP에서는 스크립트의 어떤 위치에서도 변수를 선언할 수 있습니다.

변수의 영역은 변수가 참조/사용될 수 있는 스크립트의 부분을 의미합니다.

PHP는 세 가지 다른 변수 영역을 가집니다:

  • local(지역)
  • global(전역)
  • static(정적)

Local과 Global 영역

함수외부선언된 변수는 Global 영역을 가지며, 함수 외부에서만 접근할 수 있습니다.

함수내부선언된 변수는 LOCAL 영역을 가지며, 함수 내부에서만 접근할 수 있습니다.

다음 예제는 지역과 전역 영역을 가진 변수를 테스트합니다:

예제

<?php
$x=5; // 전역 영역
function myTest() {
  $y=10; // 지역 영역
  echo "<p>함수 내부의 변수를 테스트합니다:</p>";
  echo "변수 x는:$x";
  echo "<br>";
  echo "변수 y는:$y";
} 
myTest();
echo "<p>함수 외부의 변수를 테스트합니다:</p>";
echo "변수 x는:$x";
echo "<br>";
echo "변수 y는:$y";
?>

실행 예제

이 예제에서는 두 변수 $x와 $y, 그리고 하나의 함수 myTest()가 있습니다. $x는 함수 외부에서 선언되었기 때문에 전역 변수이며, $y는 함수 내부에서 선언되었기 때문에 지역 변수입니다.

myTest() 함수 내부에서 두 변수의 값을 출력하면 $y는 지역으로 선언된 값을 출력하지만 $x의 값을 출력할 수 없습니다. 왜냐하면 그것은 함수 외부에서 생성된 것입니다.

그런 다음, myTest() 함수 외부에서 두 변수의 값을 출력하면 $x의 값을 출력하지만 $y의 값을 출력하지 않습니다. 왜냐하면 그것은 지역 변수이고 myTest() 내부에서 생성된 것입니다.

주의사항:다른 함수에서 이름이 같은 로컬 변수를 생성할 수 있습니다. 왜냐하면 로컬 변수는 그것을 생성한 함수 만이 인식하기 때문입니다.

PHP global 키워드

global 키워드는 함수 내에서 전역 변수에 접근하기 위해 사용됩니다.

이를 위해 (함수 내에서) 변수 앞에 global 키워드를 사용하십시오:

예제

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // 출력 15
?>

실행 예제

PHP는 $GLOBALS[index]라는 배열에 모든 전역 변수를 동시에 저장합니다. 인덱스는 변수 이름을 가집니다. 이 배열은 함수 내에서도 접근할 수 있으며, 전역 변수를 직접 업데이트할 수 있습니다.

위의 예제는 다음과 같이 다시 작성할 수 있습니다:

예제

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // 출력 15
?>

실행 예제

PHP static 키워드

일반적으로, 함수가 완료되거나 실행된 후에는 모든 변수가 제거됩니다. 그러나, 때로는 특정 로컬 변수를 제거하지 않고 싶을 때가 있습니다. 이를 구현하려면 추가적인 작업이 필요합니다.

이를 완료하려면, 변수를 최초로 선언할 때 사용하십시오 static 키워드:

예제

<?php
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
myTest();
myTest();
myTest();
?>

실행 예제

그런 다음, 함수가 호출될 때마다, 이 변수에 저장된 정보는 함수가 마지막으로 호출될 때 포함된 정보입니다.

주의사항:이 변수는 여전히 함수의 로컬 변수입니다.