首頁  >  文章  >  後端開發  >  深入理解php中值傳遞和引用傳遞的區別

深入理解php中值傳遞和引用傳遞的區別

王林
王林原創
2019-09-04 14:34:573070瀏覽

深入理解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