[PHP메모] 가변 변수

메모/PHP 2016. 4. 13. 15:56

728x90
반응형

가변 변수


PHP는 가변 변수(variable variables)라는 변수를 지원합니다. 가변 변수를 사용하면 변수의 이름을 동적으로 바꿀 수 있습니다.


PHP는 이런 영역에서 매우 자유롭습니다. 대부분의 언어에서 변수의 값을 바꿀 수 있을지는 몰라도 변수의 형을 바꾸기는 힘듭니다. 더군다나 변수의 이름을 바꾸기는 더욱 어렵습니다.


한 변수의 이름을 다른 변수가 값으로 가지는데, 다음 예를 살펴보겠습니다.


1
$varname = 'tireqty';

cs


$tireqty 대신에 이제 $$varname을 써도 됩니다. $tireqty의 값도 바꾸어 봅니다.


1
$$varname = 5;
cs


위와 같이 하는 것은 다음과 동일합니다.


1
$tireqty = 5;
cs


불명확해 보일지 모르겠지만 일단은 그냥 넘어갑니다. 리스트를 가지고 폼 변수를 따로따로 쓰는 것보다는 루프와 변수를 사용하여 자동으로 처리하는 것이 더 낫습니다.



다음 코드를 실행해 보세요.

1
2
3
4
5
6
7
<?php 
    $varname = 'tireqty';
    echo 'var : $varname = '.$varname."<br>";
    $$varname = 5;
    echo 'var : $$varname = '.$$varname."<br>";
    echo 'var : $tireqty = '.$tireqty."<br>";
 ?>
cs


위 코드를 출력하면 아래와 같이 출력 됩니다.


var : $varname = tireqty
var : $$varname = 5
var : $tireqty = 5


2번 행이 없어도 (3번 행은 그냥 출력하는거라 무시합니다.) 출력이 될꺼라 생각했는데 2번행이 없으면 에러를 띄웁니다.

$varname를 변수이름의 변수로써 활용해서 그런것 같습니다.


반응형

'메모 > PHP' 카테고리의 다른 글

[PHP메모] 참조 연산자  (0) 2016.04.17
[PHP메모] 단항 연산자  (0) 2016.04.13
[PHP메모] 피연산자  (0) 2016.04.13
[PHP메모] 상수, define() 함수  (0) 2016.04.13
[PHP메모] 형 변환  (0) 2016.04.13