>  기사  >  백엔드 개발  >  PHP에서 값 전달과 참조 전달의 차이점을 깊이 이해합니다.

PHP에서 값 전달과 참조 전달의 차이점을 깊이 이해합니다.

王林
王林원래의
2019-09-04 14:34:573076검색

PHP에서 값 전달과 참조 전달의 차이점을 깊이 이해합니다.

PHP 값 전달과 참조 전달의 차이점. 값으로 전달해야 하는 경우와 참조로 전달해야 하는 경우

(1) 값으로 전달: 함수 범위 내의 값에 대한 모든 변경 사항은 함수 외부에서 무시됩니다.

(2) 참조로 전달: 내부 값에 대한 모든 변경 사항 함수 범위는 함수 외부에서 무시됩니다. 이러한 수정 사항은 외부에도 반영될 수 있습니다.

(3) 장점과 단점:

A: 값으로 전달할 때 PHP는 값을 복사해야 합니다. 특히 큰 문자열과 개체의 경우 비용이 많이 드는 작업이 될 수 있습니다.

B. 참조로 전달하면 값을 복사할 필요가 없으므로 성능 향상에 매우 좋습니다.

<?php
    header(&#39;content-type:text/html;charset=utf-8&#39;);

    //探讨一下 array , null, 对象 ,资源的默认传递方式
    // 结论 (1) array 默认是值传递,通过加 & 可以引用传递
    //      (2)  null 默认是值传递,通过加 & 可以引用传递
    //      (3) 资源  是值传递.通过加 & 可以引用传递
    //        (4) 对象默认也是值传递,但是对象值传递是对象标识符    
    $hero = array(&#39;no1&#39;=>&#39;蝙蝠侠&#39;, &#39;no2&#39;=>&#39;超人&#39;);

    $hero2 = &$hero;
    $hero2[&#39;no1&#39;] = &#39;蜘蛛侠&#39;;
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    var_dump($hero);
    var_dump($hero2);


    $a = null;
    $b = &$a;
    $b = &#39;abc&#39;;

    var_dump($a, $b);

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

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

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