PHP에는 참조호출 (call by reference) 이라는 기능이 있다.
이는 딱 보아도 C언어에서 본따 가져온듯하며,
개념은 훨씬 쉽다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $a = 'a'; $b = 'b'; $c; echo $a . $b . '<br>'; $b = $a; echo $a . $b . '<br>'; $c =& $a; echo $a . $c; ?> | cs |
이 내용의 값은
ab
aa
aa
가 된다.
아무리 봐도 그냥 =과 똑같아 보이지만, 엄연히 다른 모습을 보인다.
거의 대부분의 언어에서 그러하겠지만, equal (=)이란 양쪽이 서로 같다는것을 말하는게 아니다.
오른쪽값을 왼쪽으로 집어넣는다는 개념이지, 서로 같다는 뜻은 equal이 두개가 나란히 붙은 ==가 통용된다.
&=도 마찬가지다. PHP에서는 &=가 ==와 같은 역할을 하는것이다.