一般的資料型別(int, float, bool)不做這方面的解說了
這裡詳細介紹一下陣列和的類的物件作為引數進行值傳遞的區別
陣列值傳遞
例項**:
<?phpfunction
main()
function change($cc
)main();
?>output:
array(2)
陣列引用傳遞
<?phpfunction
main()
function change(&$cc
)main();
?>outpout:
array(1)
類物件值傳遞
<?php
class
ppfunction
main()
function change($p
)main();
?>output:
object(pp)#
1 (1)
類物件引用傳遞
<?phpclass
ppfunction
main()
function change(&$p
)main();
?>
object(pp)#
1 (1)
總結:php中,陣列是當乙個普通變數,值傳遞是要乙個實參的乙個拷貝副本,跟實參無關,引用傳遞後可以改變實參的值
而類的物件是無論值傳遞和引用傳遞都是引用傳遞,是對物件的引用,都會改變實參的值
php陣列是值傳遞,物件是引用傳遞
例項 1 陣列值傳遞 function main function change cc main output array 2 2 陣列引用傳遞 function main function change cc main outpout array 1 3 類物件值傳遞 class ppfuncti...
php值和物件的值傳遞和引用傳遞
因為最近發現了物件用引用傳遞的時候,會有些微秒的變化,上 看看 v1 1 v2 v1 echo 變數初始狀態 值傳遞 echo v1的值 v1.v2的值是 v2 echo v2 2 echo v2賦值為2後的狀態 echo v1的值 v1.v2的值是 v2 echo v1 3 echo v1賦值為3...
php引用傳遞和值傳遞
主要是實參和形參的相互影響性。引用傳遞 形參的改變會影響實參 值傳遞 賦值,不相互影響 引數引用傳遞 pams1 1 function ssr params 這裡的引數的沒有 pams2 ssr pams1 echo 1 pams1 1 echo echo 2 pams2 4 echo pams1 ...