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

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

王林
王林원래의
2020-11-09 13:41:525712검색

PHP에서 값으로 전달하는 것과 참조로 전달하는 것의 차이점은 다음과 같습니다. 값으로 전달하는 것은 함수 범위 내에 있으며, 변수 값의 크기를 변경해도 참조로 전달하는 것은 함수 외부의 변수 값에 영향을 주지 않습니다. 함수 범위에 영향을 미치며 값에 대한 모든 변경 사항은 함수 외부에서도 발생합니다. 표시된 것처럼 전달된 참조는 메모리 주소입니다.

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

차이:

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

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

(학습 영상 추천: java 영상 튜토리얼)

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

<?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 training

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

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