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);