因此,我可以使用&将对象的引用推入数组中。
$a = (object) array('a' => 1);
$b[]='test';
$b[] = &$a;
$a->b = 2;
var_dump($b);结果:
array (size=2)
0 => string 'test' (length=4)
1 => &
object(stdClass)[2]
public 'a' => int 1
public 'b' => int 2但是,我如何将引用“推入”数组的开头呢?
我试过了
array_unshift($b, &$a);但我有Fatal error: Call-time pass-by-reference has been removed
发布于 2015-07-21 12:07:03
因为它是一个对象,所以$a本身已经(某种程度上)是一个引用。您根本不需要接触&引用:
array_unshift($b, $a);*对象是唯一的,在赋值时不进行复制。对象的更改在共享对象的所有变量中都是可见的。
https://stackoverflow.com/questions/31538518
复制相似问题