Какой из них лучше, код A или B:
A:
$array = array(); $array[] = 'value';
B (используйте массив без объявления массива):
$array[] = 'value'
Лучшая практика объявляет об этом.
Причина: если по какой-то причине кто-то включил register_globals и $ array установлен до его использования, вы можете получить странные результаты. Если вы заявите об этом, вы всегда уверены, что у вас есть пустой массив.
или C: $ array = array ('value');
А – лучший способ, но если бы его известное значение я сделал бы
$ Массива = массив ( 'значение');
попробуйте этот сайт
A
лучше. Как и некоторые другие люди, и я забыл изначально, B
приведет к Notice
PHP при запуске, но все равно будет работать одинаково. A
также сделает ваш код более надежным, убедившись, что $array
– это то, что вы хотите, когда оно вам нужно, а не какой-либо другой тип переменной или ранее определенная переменная.
Изменить: одно время PHP не бросает уведомления при использовании неопределенной переменной – это при добавлении к неинициализированному массиву. От php.net:
Ошибка уровня E_NOTICE выдается в случае работы с неинициализированными переменными, но не в случае добавления элементов к неинициализированному массиву.
ИМО зависит от сложности вашего скрипта. Так же, как и в случае $ i в циклах foreach, вы можете использовать массив.
Сначала определив массив, вы убедитесь, что это новый и пустой массив, который гарантирует, что он не содержит данных из предыдущего использования.
A
Лучше, чем B
поскольку @ G-Nugget сказал по тем же причинам, но следствие состоит в том, что он также делает ваш код более трудным для чтения, если у вас появляются переменные из ниоткуда.
Согласно руководству , часть, ссылающаяся на создание / изменение с помощью синтаксиса с квадратной скобкой , на самом деле подразумевает, что создание массивов с помощью $array[] = 'value';
одинаково прав, как создание массивов, объявляя переменную как таковую, прежде чем присваивать ей значения.
Другими словами, не беспокойтесь об этом.