php陣列是值傳遞,物件是引用傳遞

2021-07-25 15:33:57 字數 980 閱讀 4730

**:

例項**:

1、陣列值傳遞

<?php

function

main

() function

change

($cc)

main();

?>

output: array(2)

2、陣列引用傳遞

<?php

function

main

() function

change

(&$cc)

main();

?>

outpout:

array(1)

3、類物件值傳遞

<?php

class

ppfunction

main

() function

change

($p)

main();

?>

output:

object(pp)#1 (1)

4、類物件引用傳遞

<?php

class

ppfunction

main

() function

change

(&$p)

main();

?>

output:

object(pp)#1 (1)

總結:php中,陣列是當乙個普通變數,值傳遞是要乙個實參的乙個拷貝副本,跟實參無關,引用傳遞後可以改變實參的值

而類的物件是無論值傳遞和引用傳遞都是引用傳遞,是對物件的引用,都會改變實參的值。

PHP中物件是按值傳遞還是按引用傳遞?

1.首先,什麼是按值傳遞和按引用傳遞?按值傳遞就是僅僅把值傳遞過去,相當於傳遞的是值的拷貝,而按引用傳遞傳遞的是記憶體的位址。按引用傳遞的特點 a 2 b a 按引用傳遞 a 1 echo b 1 b 3 echo a 3 2.現證明php中物件不是按引用傳遞 class test test1 ne...

php 陣列 類物件 值傳遞 引用傳遞 區別

一般的資料型別 int,float,bool 不做這方面的解說了 這裡詳細介紹一下陣列和的類的物件作為引數進行值傳遞的區別 陣列值傳遞 例項 function main function change cc main output array 2 陣列引用傳遞 function main funct...

PHP物件傳值 引用傳值

物件傳值本質上是引用傳值,將乙個物件變數 a 賦值給另個變數 b 實際上是將 a儲存的物件記憶體引用位址賦值 b,此時兩個變數指向的就是乙個物件。其中乙個變數傳送改變,另乙個也會跟著改變。和引用變數乙個道理。1.物件傳值示例 物件傳值本質上就是引用傳值 a new user b a 物件傳值 var...