Tengo 2 matrices.Elementos de matriz de desreferencia de PHP
$result = array();
$row = array();
Los elementos de Row son todas referencias y están en constante cambio. Para cada iteración de $row
, deseo copiar los valores de la fila en una entrada de $result
y no las referencias.
He encontrado algunas soluciones pero todas parecen bastante horribles.
$result[] = unserialize(serialize($row));
$result[] = array_flip(array_flip($row));
Tanto de la obra anterior, pero parece como un montón de código innecesario y feo sólo para copiar el contenido de un conjunto de referencias de valor, en lugar de copiar las referencias mismos.
¿Hay alguna manera más clara de lograr esto? Si no, ¿cuál sería la forma más eficiente?
Gracias.
EDIT: Como se sugiere a continuación algo como:
function dereference($ref) {
$dref = array();
foreach ($ref as $key => $value) {
$dref[$key] = $value;
}
return $dref;
}
$result[] = dereference($row);
también funciona, pero parece igual de feo.
Esto podría ser un duplicado, http://stackoverflow.com/questions/1190026/php-copying-array-elements -por-valor-no-por-referencia –
Él está tratando con objetos. Estoy tratando estrictamente con arreglos. – anomareh
Si la gente votó mi respuesta, entonces creyeron que yo tenía razón. Si no es el caso, lo más probable es que al principio no haya aclarado su pregunta. Encuentro bastante grosero de tu parte decirle a las personas que rechacen mi intento de ayudarlo, así que no intentaré más. – zneak