При написании недавнего приложения я случайно начал заполнять массив, прежде чем объявить его.
error_reporting ( E_ALL); $array['value'] = 'Test string';
Я использую отчет об ошибках E_ALL, и ошибка не была выбрана. Это верно? И если да, есть ли какие-либо проблемы с объявлением значений массива, пока они не объявляются реальным массивом? Возможно, это просто не соответствует хорошим стандартам программирования.
При написании недавнего приложения я случайно начал заполнять массив, прежде чем объявить его.
PHP – слабо типизированный язык. Ваше заявление:
$array['value'] = 'Test string';
является неявным объявлением (посредством назначения) ассоциативного массива. Таким образом, уведомление не будет создано.
Однако, если бы вы писали:
echo $array['value'];
перед назначением, вы получите уведомление Undefined variable
.
Нет, вам не нужно
И да, это хорошая привычка объявлять массив для увеличения повторяемости кода
Чтобы расширить это, нет у вас «нет», но это может быть полезно.
Также, если вы отключили E_NOTICES, вы не увидите ошибок из неинициализированной переменной. При производстве вы должны отключить его, но при разработке вы должны включить его. Это позволит вам найти проблемы, которые вы, возможно, не видите.