Infelizmente, não posso responder às outras perguntas, não tenho reputação suficiente, mas preciso apontar algo que foi MUITO importante para mim e acho que ajudará outras pessoas também.
Desativar a variável é uma boa maneira, a menos que você precise da referência da matriz original!
Para esclarecer o que quero dizer: se você tem uma função que usa a referência da matriz, por exemplo, uma função de classificação 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;
}
}
Não está funcionando! Tenha cuidado aqui, unset
exclui a referência, para que a variável $array
seja criada novamente e preenchida corretamente, mas os valores não podem ser acessados de fora da função.
Portanto, se você tiver referências, precisará usar em $array = array()
vez de unset
, mesmo que seja menos limpo e compreensível.
unset($array)
?