数组中的对象是否通过引用传递?

2022-08-31 01:05:25

在下面这样的情况下,

class my_class {

    public __construct($params = array()){

        **** do something
    } 

 }

 $other_object = new some_class();

 $object = new my_class(array(
                         'var1' => 'test' 
                         'object' => $other_object));

$other_object 将通过引用或值传递?


答案 1

对象始终是引用,除非您显式地引用它。clone

您可以使用 spl_object_hash() 来检索“对象 ID”,然后将它们相互比较。请记住,一旦垃圾回收器从内存中删除对象,该 ID 可能会被重用。


答案 2

下面是一个示例,它显示了引用的对象,http://codepad.org/HK6Oo4xL