На жаль, я не можу відповісти на інші запитання, не маю достатньої репутації, але мені потрібно зазначити щось, що було ДУЖЕ важливим для мене, і я думаю, що це допоможе і іншим людям.
Видалення змінної - це приємний спосіб, якщо вам не потрібна посилання на вихідний масив!
Щоб зрозуміти, що я маю на увазі: Якщо у вас є функція, яка використовує посилання масиву, наприклад функцію сортування, наприклад
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;
}
}
це не працює! Будьте уважні тут, unset
видаляє посилання, тому змінна $array
створюється знову і заповнюється правильно, але значення не доступні за межами функції.
Тож якщо у вас є посилання, вам потрібно використовувати $array = array()
замість них unset
, навіть якщо вона менш чиста і зрозуміла.
unset($array)
?