반응형
■ 가변변수
가변 변수란 유동적 변수라고 할 수 있어, 어느 정도 편리함이 있습니다. 보통 일반 벼수는 다음과 같이 표현을 합니다.
ex #01)
<?php $a = "hello"; ?>
ex #02)
<?php $a = "hello"; // $a 변수가 $hello 변수로 가변적으로 변하게 됩니다. $$a = "wicked"; ?>
$a 변수에 hello 값을 정의하고, 다시 hello 변수에 wicked값을 정의하여, 다음과 같은 결과를 얻게 됩니다.
ex #03)
<?php $a = "hello"; $$a = "wicked"; echo $a; // 출력 : hello echo $hello; // 출력 : wicked ?>
다음도 좋은 결과물 입니다.
ex #04)
<?php $Bar = "a"; $Test = "Bar"; $World = "Foo"; $Hello = "World"; $a = "Hello"; echo $a."
\n"; // 출력 : Hello echo $$a."
\n"; // 출력 : World echo $$$a."
\n"; // 출력 : Foo echo $$$$a."
\n"; // 출력 : Bar echo $$$$$a."
\n"; // 출력 : a echo $$$$$$a."
\n"; // 출력 : Hello echo $$$$$$$a."
\n"; // 출력 : World ?>
배열을 가변 변수로 사용할 수 도 있습니다.
ex #05)
<?php $number = array("one", "two", "three"); $a = "number"; ${$a}[] = "four"; // 배열 추가 print_r($number); /* 출력 : Array ( [0] => One. [1] => tow. [2] => three. [3] => four. ) */ ?>
다음은 클래스명 가변 변수의 예입니다.
ex #06)
<?php class wicked { public function phptest() { echo "Hello world!"; } } $my_wicked = 'wicked'; $x = new $my_wicked(); $x -> phptest(); // 출력 : Hello World! ?>
가변 변수(동적 변수) 사용시 함수나 클래스 메소드 안에서 $this -> 로 사용되는 특수한 변수는 동적인 변수로 사용될 수 없음에 주의해야 하고, 이로서 메소드 안에서만큼은 변수가 쉽게 변질되는 것을 막을 수 있습니다.
반응형
'PHP > PHP Programming' 카테고리의 다른 글
[PHP] 클래스의 기본문법 (3) | 2015.04.07 |
---|---|
[PHP] 상수의 정의 (0) | 2015.03.31 |
[PHP] 정적변수 (0) | 2015.03.29 |
[PHP] CGI 환경변수 (0) | 2015.03.29 |
[PHP] 함수의 기본 문법 (0) | 2015.03.17 |