是否有一个函数可以将一个PHP数组复制到另一个数组?

我已经被烧毁了几次试图复制PHP数组。我想将对象内定义的数组复制到对象外部的全局数组。


当前回答

我很久以前就知道这一点,但这对我来说很有效。

$copied_array = array_slice($original_array,0,count($original_array));

其他回答

我很久以前就知道这一点,但这对我来说很有效。

$copied_array = array_slice($original_array,0,count($original_array));

简单,使深度复制打破所有链接

$new=unserialize(serialize($old));
private function cloneObject($mixed)
{
    switch (true) {
        case is_object($mixed):
            return clone $mixed;
        case is_array($mixed):
            return array_map(array($this, __FUNCTION__), $mixed);
        default:
            return $mixed;
    }
}
foreach($a as $key => $val) $b[$key] = $val ;

同时保留键和值。数组a是数组b的精确副本

当你这样做时

$array_x = $array_y;

PHP复制了数组,所以我不确定你是如何被烧毁的。为了你的案子,

global $foo;
$foo = $obj->bar;

应该没问题。

我认为,要想被复制,要么必须使用引用,要么需要克隆数组中的对象。