PHP 달러가 2개인 변수($$변수)는 무엇인가?
현재는 잘 사용하지 않는데 예전에는 쓰인것이 있습니다.
저도 왜? 쓰였는지 이해가 잘 가지 않는 부분입니다. 배열을 사용하면 되는데 말입니다.
가능하면 알아보기 쉬운 배열을 사용하는 것이 좋겠습니다. 하지만 남이 사용했을 경우 볼줄을 알아야 되기 때문에 아래와 같습니다.
$abc = 'def';
$def = 'abc';
// def 변수의 값을 출력 - 달러가 2개 들어가면 변수의 값이 변수가 된다.
echo $$abc . PHP_EOL;
// 위보다는 아래 형태가 낳다 - 배열을 사용
$aTst['def'] = 'abc';
echo $aTst['def'] . PHP_EOL;
// 오브젝트 사용
$oTst = (object)[];
$oTst->def = 'abc';
echo $oTst->def . PHP_EOL;
가능하면 이런 요상한? 것은 사용하지 않도록 하는것이 좋겠습니다.
위 결과는 모두 'abc'를 출력 합니다.
난 저게 꼭 필요한데 그런분 있을것 같아 보이는데 예전에 goto 있을때 많이 사용했지만
요즘 goto 없이 잘 사용하는 것을 생각해 보면 좋습니다. 프로그램 간단하게 알아보기 쉽게 하는 것이 좋습니다.