是的 $a = new stdClass(); $b = $a; $b->x = 1; $c = clone $a; xdebug_debug_zval("a"); xdebug_debug_zval("b"); xdebug_debug_zval("c"); a: (refcount=2, is_ref=0) object(stdClass)[1] public 'x' => (refcount=0, is_ref=0)int 1 b: (refcount=2, is_ref=0) object(stdClass)[1] public 'x' => (refcount=0, is_ref=0)int 1 c: (refcount=1, is_ref=0) object(stdClass)[2] public 'x' => (refcount=0, is_ref=0)int 1 a、b的引用计数为2,两个变量指向相同的内容,在对b进行添加属性时会同时改变a、b,且不会进行强制分裂c为clone $a的新对象,指向新的内存地址
是的
a、b的引用计数为2,两个变量指向相同的内容,在对b进行添加属性时会同时改变a、b,且不会进行强制分裂
c为clone $a的新对象,指向新的内存地址