Элементы массива разыменования PHP
У меня есть 2 массива.
$result = array();
$row = array();
Все элементы строки являются ссылками и постоянно меняются. Для каждой итерации$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);
Также работает, но кажется одинаково уродливым.