Цитата (twin @ 22.08.2015 - 06:53) | ||||
Неверный вывод. Отсутствие переменной (неинициализированная переменная) совсем не одно и то же, что $pupilIds = NULL. В последнем случае она как раз есть, под неё выделена память, она обозначена названием (адрес ячейки). И код в таком случае сработает корректно, если нет строгой типизации, что в PHP применяется крайне редко. Кстати говоря, из-за этого. Так что инициализацию в аргументе функции лучше делать так, тогда не будет никакого фатала, а будет обычный нотис на неинициализированную переменную: function foo($var = array()){var_dump($var);} Инициализация переменных, это действительно хороший тон, помогает избежать нотисов и неоднозначностей. Но не так уж все страшно, как расписал stump.
Потому никто раньше и не писал этого. |
function foo($var = array()){fareach($var as $v)var_dump($v);}