PHP值傳遞和引用傳遞的區別

來源:互聯網
上載者:User

標籤:傳值   優缺點   複製   ext   charset   方式   字串   color   char   

 

PHP值傳遞和引用傳遞的區別。什麼時候傳值什麼時候傳引用

(1)按值傳遞:函數範圍內對值的任何改變在函數外部都會被忽略

(2)按引用傳遞:函數範圍內對值的任何改變在函數外部也能反映出這些修改

(3)優缺點:

A:按值傳遞時,php必須複製值。特別是對於大型的字串和對象來說,這將會是一個代價很大的操作。

B.按引用傳遞則不需要複製值,對於效能提高很有好處。

 1 <?php 2     header(‘content-type:text/html;charset=utf-8‘); 3  4 //探討一下 array , null, 對象 ,資源的預設傳遞方式 5  // 結論 (1) array 預設是值傳遞,通過加 & 可以引用傳遞 6  // (2) null 預設是值傳遞,通過加 & 可以引用傳遞 7  // (3) 資源 是值傳遞.通過加 & 可以引用傳遞 8  // (4) 對象預設也是值傳遞,但是對象值傳遞是物件識別碼  9 $hero = array(‘no1‘=>‘蝙蝠俠‘, ‘no2‘=>‘超人‘);10 11 $hero2 = &$hero;12 $hero2[‘no1‘] = ‘蜘蛛俠‘;13 echo ‘<pre>‘;14 var_dump($hero);15 var_dump($hero2);16 17 18 $a = null;19 $b = &$a;20 $b = ‘abc‘;21 22 var_dump($a, $b);

PHP值傳遞和引用傳遞的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.