반응형
■ 가변변수
가변 변수란 유동적 변수라고 할 수 있어, 어느 정도 편리함이 있습니다. 보통 일반 벼수는 다음과 같이 표현을 합니다.
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 |