我有 2 个数组。
$result = array();
$row = array();
Row 的元素都是引用,并且在不断变化。对于我的每次迭代,$row
我想将行的值复制到一个条目$result
而不是引用中。
我找到了一些解决方案,但它们看起来都相当糟糕。
$result[] = unserialize(serialize($row));
$result[] = array_flip(array_flip($row));
上述两种方法都有效,但似乎是很多不必要且丑陋的代码,只是为了按值复制引用数组的内容,而不是复制引用本身。
有没有更清洁的方法来实现这一点?如果不是,最有效的方法是什么?
谢谢。
编辑:如下所示:
function dereference($ref) {
$dref = array();
foreach ($ref as $key => $value) {
$dref[$key] = $value;
}
return $dref;
}
$result[] = dereference($row);
也有效,但看起来同样丑陋。