php
PHP - 가변변수(또는 동적변수)
가변 변수를 유동 변수라 부르기도 합니다. 일반 변수는 다음과 같습니다.
아래 예제는 가변 변수로 두 개의 $가 붙습니다. 이는 변수 값을 취해서 변수명으로 취급한다는 뜻입니다.
$a변수에 hello값을 정의하고, 다시 $hello 변수에 habony값을 정의하여, 다음과 같은 결과를 얻었습니다.
다음도 좋은 결과물입니다.
배열을 가변 변수로 사용할 수도 있습니다.
다음은 클레스명 가변 변수의 예입니다.
가변변수는 함수나 클레스 안에서 $this->로 사용되는 특수한 변수를 동적인 변수로 사용될 수 없습니다.
<?php
$a = "hello";
?>
아래 예제는 가변 변수로 두 개의 $가 붙습니다. 이는 변수 값을 취해서 변수명으로 취급한다는 뜻입니다.
<?php
$a = "hello";
$$a = "habony";
?>
$a변수에 hello값을 정의하고, 다시 $hello 변수에 habony값을 정의하여, 다음과 같은 결과를 얻었습니다.
<?php
$a = "hello";
$$a = "habony";
echo $a; // 결과: hello
echo $hello; // 결과: habony
?>
다음도 좋은 결과물입니다.
<?php
$Bar = "a";
$Foo = "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
?>
배열을 가변 변수로 사용할 수도 있습니다.
<?php
$number = array("one", "two", "three") ;
$a = "number" ;
${$a}[] = "four" ; // 배열 추가
print_r($number) ;
/*
결과:
Array
(
[0] => one
[1] => two
[2] => three
[3] => four
)
*/
?>
다음은 클레스명 가변 변수의 예입니다.
<?php
class habony {
public function phptest() {
echo 'Hello world!';
}
}
$my_habony = 'habony';
$x = new $my_habony();
$x->phptest(); // 결과: Hello world!
?>
가변변수는 함수나 클레스 안에서 $this->로 사용되는 특수한 변수를 동적인 변수로 사용될 수 없습니다.
0 댓글