>  기사  >  백엔드 개발  >  값에 의한 전달과 참조에 의한 전달의 차이점 PHP

값에 의한 전달과 참조에 의한 전달의 차이점 PHP

王林
王林원래의
2019-09-10 17:54:192849검색

값에 의한 전달과 참조에 의한 전달의 차이점 PHP

php 값 전달: 함수 범위 내에서 변수 값을 변경해도 함수 외부의 변수 값에는 영향을 미치지 않습니다.

php by reference: 함수 범위 내에서 값에 대한 모든 변경 사항은 함수 외부에도 반영됩니다. 메모리 주소가 참조로 전달되기 때문입니다.

예시를 통한 설명:

값 전달: 복사와 동일합니다. [예를 들어, 나는 당신에게 건축 자재를 제공합니다. 당신이 당신의 집에서 하는 일은 나에게 영향을 미치지 않습니다. 서로 독립적으로 당신에게 영향을 미칠 것입니다. 】

<?php    
$testa=1;               //定义变量a 
$testb=2;               //定义变量b    
$testb = $testa;       //变量a赋值给变量b    
echo $testb;            //显示为1    
?>

Pass-by-reference: C 언어의 포인터와 비슷하며 거의 같은 느낌입니다. 예를 들어, 나에게 집이 있는데, 내가 당신에게 열쇠를 주면 우리 둘 다 집에 들어갈 수 있습니다.

<?php    
$param2=1;               //定义变量2    
$param1 = &$param2;      //将变量2的引用传给变量1    
echo $param2;            //显示为1    
$param1 = 2;             //把2赋值给变量1    
echo $param2;            //显示为2    
?>

장점 및 단점: 값을 전달하는 데 시간이 많이 걸립니다. 특히 큰 문자열과 개체의 경우 이는 매우 비용이 많이 드는 작업입니다. 참조를 전송하는 경우 함수 내의 모든 작업은 변수 작업을 전송하는 것과 동일합니다. 큰 변수를 전송할 때!

추천 비디오 튜토리얼: PHP 비디오 튜토리얼

위 내용은 값에 의한 전달과 참조에 의한 전달의 차이점 PHP의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.