Lamentablemente, no puedo responder las otras preguntas, no tengo suficiente reputación, pero necesito señalar algo que fue MUY importante para mí, y creo que también ayudará a otras personas.
Desarmar la variable es una buena manera, ¡a menos que necesite la referencia de la matriz original!
Para aclarar lo que quiero decir: si tiene una función que utiliza la referencia de la matriz, por ejemplo, una función de clasificación como
function special_sort_my_array(&$array)
{
$temporary_list = create_assoziative_special_list_out_of_array($array);
sort_my_list($temporary_list);
unset($array);
foreach($temporary_list as $k => $v)
{
$array[$k] = $v;
}
}
¡no está trabajando! Tenga cuidado aquí, unset
elimina la referencia, por lo que la variable $array
se crea nuevamente y se llena correctamente, pero los valores no son accesibles desde fuera de la función.
Por lo tanto, si tiene referencias, debe usarlas en $array = array()
lugar de hacerlo unset
, incluso si es menos limpio y comprensible.
unset($array)
?