В большинстве скриптов в этом нет необходимости.
Если вы в коде получаете, например, один массив на много N (зависит от сервера) мегабайт, а потом хотите получить другой массив такого же объёма, может иметь смысл что-то типа такого:
for () {
$arr2[] = new_value($arr1[i]);
unset($arr1[i]);
}
В этом случае вам памяти понадобится не 2*N, а где-то ближе к N.
Но на практике необходимость такого - большая редкость.