티스토리 뷰

웹 개발자로써/PHP

2010년1월6일_2

GsBOB 2010. 1. 6. 23:43

[Call by Reference , Call by Value]

말 그대로 Call by Reference는 주소 참조
Call by Value는 값을 참조 한다.

이 것은 함수의 매개 변수에서 쓰이며, 예제를 통해 설명 하겠다.

<?PHP
 function swap(&$a,&$b)
 {
  $temp = $a;
  $a = $b;
  $b = $temp;
 }

 $i = 3;
 $j = 4;

 swap($i,$j);

 print "$i, $j";
?>

이것이 Call by Reference다. 중요한 것 변수 형태에 &기호를 추가함으로써  참조

할 변수의 메모리 주소를 받아오게 되는 것이다. 이렇게 함으로써 값만 바꿨는데도

주소가 일치하므로 swap(값이 바뀜)이 가능하다.

<?PHP
 function swap($a,$b)
 {
  global $$a,$$b;
  $temp = $$a;
  $$a = $$b;
  $$b = $temp;
 }

 $i = 3;
 $j = 4;

 swap('i','j');

 print "$i, $j";
?>

Call by Value의 예제 이다.

'은 변수의 명칭만 넘겨 줬다고 생각하면 된다. 이 명칭만 받은 매개 변수가

global을 통해서 값을 일치 시키는 것이다. 좀 이해하기 힘들지 모르겠지만 

예를 들면, 나의 주민번호를 알려줌으로써 어떠한 사람이 나의 정보를 파악하고  

그 정보를 수정 가능 하게 된 것이라고 생각하면 된다.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함