是否有一个函数可以将一个PHP数组复制到另一个数组?
我已经被烧毁了几次试图复制PHP数组。我想将对象内定义的数组复制到对象外部的全局数组。
是否有一个函数可以将一个PHP数组复制到另一个数组?
我已经被烧毁了几次试图复制PHP数组。我想将对象内定义的数组复制到对象外部的全局数组。
当前回答
我很久以前就知道这一点,但这对我来说很有效。
$copied_array = array_slice($original_array,0,count($original_array));
其他回答
在php数组中,你只需要将它们赋值给其他变量来获得数组的副本。但首先你需要确定它的类型,是array还是arrayObject还是stdObject。
对于简单php数组:
$a = array(
'data' => 10
);
$b = $a;
var_dump($b);
output:
array:1 [
"data" => 10
]
$arr_one_copy = array_combine(array_keys($arr_one), $arr_one);
只是再发布一个解决方案;)
这是我在Php中复制数组的方式:
function equal_array($arr){
$ArrayObject = new ArrayObject($arr);
return $ArrayObject->getArrayCopy();
}
$test = array("aa","bb",3);
$test2 = equal_array($test);
print_r($test2);
这个输出:
Array
(
[0] => aa
[1] => bb
[2] => 3
)
如果你的数组只有基本类型,你可以这样做:
$copy = json_decode( json_encode($array), true);
您不需要手动更新引用 我知道这不是对每个人都有效,但对我很有效
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;
}
}