>백엔드 개발 >PHP 문제 >PHP에서 값 전달과 참조 전달의 차이점은 무엇입니까?

PHP에서 값 전달과 참조 전달의 차이점은 무엇입니까?

王林
王林원래의
2020-06-30 10:45:152956검색

PHP에서 값으로 전달하는 것과 참조로 전달하는 것의 차이점은 다음과 같습니다. 값으로 전달하는 경우 함수 범위 내에서 변수 값의 크기를 변경해도 참조로 전달하는 함수 외부의 변수 값에는 영향을 주지 않습니다. 함수 범위 내의 값으로 변경하면 함수 외부에 반영되며, 메모리 주소는 참조로 전달됩니다.

PHP에서 값 전달과 참조 전달의 차이점은 무엇입니까?

차이 분석:

php 값 전송: 함수 범위 내에서 변수 값의 크기가 변경되어도 함수 외부의 변수 값에는 영향을 미치지 않습니다.

PHP 참조별 전달: 참조별 전달이 메모리 주소를 전달하기 때문에 함수 범위 내에서 값에 대한 모든 변경 사항이 함수 외부에 반영됩니다.

분석 예:

전달된 값:

은 복사와 동일합니다. 예를 들어, 나는 집이 있고 당신에게 건축 자재를 제공합니다. 당신이 당신의 집에서 무엇을 하든지 나에게 영향을 미치지 않습니다. 당신에게 영향을 미치며, 그들은 서로 독립적입니다.

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

패스 참조:

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으로 문의하세요.