Я не говорил, вместо print_r, я сказал вместо print.
L I G A,
1. В конкретном случае цикл while займет меньше времени, оперативки.
2,3. Это не оправдание.
4,5. Время, оперативку.
1-5 - Если сделать все это, код будет выполнятся быстрее, станет оптимальнее. Проверить можно функцией microtime(). Оперативку до и после работы скрипта тоже можно измерить функцией, но я не помню какой.