변수 참조
사례:
<?php //变量单独引用 $test = "a string!\n"; $quote = &$test; echo $test; //a string! echo $quote;//a string! $quote = "exchange!\n"; echo $test; //exchange! echo $quote;//exchange! unset($quote); echo $test; //exchange! //函数传参引用 $num = 10; echo $num."\n"; test($num); echo $num."\n"; function test( &$num) { $num += 10; }
결론
PHP의 변수 참조는 동일한 내용을 가리키는 다른 변수와 동일합니다. 이 콘텐츠도 작동됩니다. 참조 중 하나가 삭제되면 다른 참조는 영향을 받지 않습니다. 이는 삭제된 변수가 더 이상 동일한 콘텐츠를 가리키지 않는 것과 동일하지만 상수일 수는 없습니다. (이름이 여러 개인 사람과 동일하며, 이름 하나를 제때 제거해도 해당 사람의 엔터티에 영향을 미치지 않습니다.)
권장: php training
함수 참조 반환
사례 1:
<?php $t = test(); // 1 var_dump($t); // int(1) $t = 20; $t = test(); //2 var_dump($t); //int(2) $t = &test(); //3 var_dump($t) ; //int(3) $t = 20; $t = test(); //21 var_dump($t); //int(21) function &test() { static $test = 0; $test += 1; echo $test."\n"; return $test; }
사례 2:
?php $t = test(); function &test() { static $test = 0; $test += 1; echo $test."\n"; } $ php test.php 1 PHP Notice: Only variable references should be returned by reference in /home/q/www/zt.dujia.qunar.com/test.php on line 9
결론:
은 직설적으로 말하면 $t = &test;와 동일하며 여전히 변수 간의 참조입니다.
객체 참조
사례:
<?php class a{ var $abc="ABC"; } $b=new a; $c=$b; echo $b->abc;//这里输出ABC echo $c->abc;//这里输出ABC $b->abc="DEF"; echo $c->abc;//这里输出DEF ?>
참조는 실제로 여러 작업 이름이 지정된 변수 공간입니다. 이러한 작업 이름은 모두 동일한 작업 공간에서 작동하며, 기타 작업 이름으로 얻은 결과도 변경됩니다.
참조의 역할:
일반적으로 변수가 선언될 때마다 일정량의 공간을 차지합니다.
함수 매개변수 전달의 편리함은 원래 공간의 내용을 직접 수정할 수 있는 동시에 중간 변수의 공간 오버헤드도 줄일 수 있습니다.
더 많은 PHP 관련 지식을 보려면 php 무료 교육 웹사이트를 주목하세요.
위 내용은 PHP 참조(&) 사례 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!