发布日期:2018-03-26
在PHP中有函数可以实现将PHP的一个数组复制(克隆)给另一个吗?+ 查看更多
在PHP中有函数可以实现将PHP的一个数组复制(克隆)给另一个吗?
+ 查看更多
发布日期:2017-04-08 15:28
分类:PHP
浏览次数:165
我曾经尝试将PHP的一个数组复制(克隆)给另一个,我想把一个内部定义的数组复制给外部的全局数组,该怎么做?
回答
在PHP中数组通过副本分配,而对象则通过引用,因此对于:
$a = array(); $b = $a; $b['foo'] = 42; var_dump($a);
会有:
array(0) { }b的变化没有导致a的变化。
而对于:
$a = new StdClass(); $b = $a; $b->foo = 42; var_dump($a);
会有:
object(stdClass)#1 (1) { ["foo"]=> int(42) }
另外像ArrayObject,它是一个表现的像数组的对象,作为一个对象,它具有引用语义。