참조(reference)란, 같은 변수의 내용에 붙이는 별명입니다. 일반적으로 '='에서 변수의 대입은 변수값의 복사본이 대입되는데, 이것을 '값 호출(call by value)'이라고 부릅니다. '=&'의 대입은 '참조 호출(call by reference)'이라고 부르고 두 개의 변수가 같은 것을 가리킵니다.
∥ 변수 참조 호출하기
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>참조 호출</title> </head> <body> <div> <?php $a = '변경 전'; # 변수값 호출입니다. $b에는 $a의 값이 대입됩니다. $b = $a; # 참조 호출입니다. $c와 $a는 같은 값입니다. $c =& $a; echo '$a: ' . $a . ' '; echo '$b: ' . $b . ' '; echo '$c: ' . $c . '<br>'; $a = '변경 후'; echo '$a: ' . $a . ' '; echo '$b: ' . $b . ' '; echo '$c: ' . $c . '<br>'; ?> </div> </body> </html>
결과화면
$c에는 $a가 참조 호출되고 있어서 $a와 $c는 같은 값이 되어 $a의 값을 변경하면 $c의 값도 바뀝니다. 한편 $b는 값 호출(call by value)이므로 $a의 값이 바뀌어도 영향을 주지 않습니다.
'웹코딩 > PHP' 카테고리의 다른 글
&&, ||, !란? 논리 연산자 (0) | 2016.10.01 |
---|---|
두 개의 값 비교하려면? 비교 연산자 (0) | 2016.09.30 |
htmlspecialchars()를 이용해 이스케이프 처리 (0) | 2016.09.30 |
처리를 일시 정지하고 싶을 때 sleep() 함수, usleep() 함수 (0) | 2016.09.30 |
배열의 내용을 디버그 표시하고 싶을 때 (0) | 2016.09.26 |