[PHP메모] 가변 변수
메모/PHP 2016. 4. 13. 15:56
728x90
반응형
가변 변수
PHP는 가변 변수(variable variables)라는 변수를 지원합니다. 가변 변수를 사용하면 변수의 이름을 동적으로 바꿀 수 있습니다.
PHP는 이런 영역에서 매우 자유롭습니다. 대부분의 언어에서 변수의 값을 바꿀 수 있을지는 몰라도 변수의 형을 바꾸기는 힘듭니다. 더군다나 변수의 이름을 바꾸기는 더욱 어렵습니다.
한 변수의 이름을 다른 변수가 값으로 가지는데, 다음 예를 살펴보겠습니다.
1 | $varname = 'tireqty'; |
$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 |