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

 

PHP值傳遞和引用傳遞的區別。何時傳值何時傳引用

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

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

(3)優缺點:函數

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

B.按引用傳遞則不須要複製值,對於性能提升頗有好處。spa

 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);
相關文章
相關標籤/搜索