Если вы просто хотите, чтобы присвоить значение переменной следующим образом: $array[]="value 1"
и $array[]="value 2"
вы сначала должны объявить $array=array()
? Очевидно, что вы НЕ ДОЛЖНЫ, поскольку это работает без него, но почему бы вам тогда это сделать? Или в чем польза от этого?
ответ
Что вы описываете, это не декларация, а инициализация. Вы не объявляете массив $ array, вы назначаете ему значение (пустой массив).
Такая инициализация может быть использована для установления области видимости, и, возможно, она может сделать код более читаемым (хотя я не могу понять, как это сделать), но обычно это делается только тогда, когда вы специально хотите иметь пустой массив. Классическим примером является использование синтаксиса [] для добавления в массив. Учитывайте следующее:
$a = 'old value';
$a = array();
$a[] = 1;
$a[] = 2;
$a[] = 3;
Без второй линии это приведет к ошибке.
Кстати, команда array() не является обычной функцией. Это языковая конструкция, и начиная с PHP 5.4 вы можете заменить ее коротким [] синтаксисом:
$a = 'old value';
$a = [];
$a[] = 1;
$a[] = 2;
$a[] = 3;
В основном для документальных целей. Он напоминает разработчику, что переменная предназначена для использования в качестве массива.
В качестве примера, в CodeIgniter вы можете передавать значения в представление, но они должны быть массивом или вызывать исключение. Объявление переменной как array()
напоминает, что даже если вы намерены передать одно значение, вы должны вставить его как элемент в массив.
В основном читаемость думаю. Кто-то может (или сам через 5 месяцев) прийти и задаться вопросом, откуда исходит $ array [], поскольку он «волшебным образом появляется в коде». С $ myArray = array() вы, по крайней мере, знаете (эй, вот где мы сначала видим переменную).
Он также может быть полезен при структурировании кода. Например если мы сначала объявить переменную в верхней
<?php
$myArray = array();
//...
А внизу мы загружаем файл шаблона $template->render('template.html', $myArray);
Допустим, у нас есть, если заявление и если определенное условие истинно мы назначаем новый значение для массива. Но если условие было неверным, мы не передавали бы какую-либо информацию (новое значение для массива), поэтому массив не был бы инициирован - он породил бы ошибку, если массив не был объявлен. Но так как это так, мы просто просто загрузим пустой массив и ошибок не будет.
Нет, вы этого не сделаете.
Вообще, единственный раз, когда я инициализировать массив с пустым массивом в случаях, как это:
$list = array();
for($database_result as $row)
{
$list[] = $row['value'];
}
echo implode(', ', $list);
Если это произошло, не было ни одной строки в результате базы данных, то implode
вызова потерпит неудачу, так как $ list не существует.
пример вы даете, просто установив список значений, которые вы уже знаете, я вообще делаю так:
$array = array
(
"value 1",
"value 2",
);
- 1. PHP foreach array array
- 2. array array php mysql
- 3. В чем разница между `Array` и` Array() `?
- 4. PHP array() в массив javascript()
- 5. PHP Array Преобразовать его формат
- 6. Array to string conversion php, array array
- 7. php array выводится как Array
- 8. PHP array_intersect/array_diff/array array
- 9. Array to string, показывая как -> Array, Array, Array, Array
- 10. Array filter php многомерный массив
- 11. PHP Array - Как Переберите массив
- 12. Array за пределами? Зачем?
- 13. Почему массив (99999) медленнее, чем Array (100000)
- 14. php sort array by $ array [*] [сумма этого]
- 15. Php array vs Python array
- 16. PHP Array Foreach Tittle
- 17. Как создать ассоциативный массив Array Array?
- 18. Echo Array в PHP
- 19. PHP: Push to multi-array array
- 20. php array to json array (using sendgird)
- 21. MySQL в PHP Array
- 22. PHP read file (array) as array
- 23. PHP Array всегда имеет родительский 0 Array
- 24. Json encode array with php - array() становится "Array {...}" not "[...]"
- 25. Post Array в массив массивов в php
- 26. Array возвращает «Array»
- 27. javascript new Array -> php array
- 28. php array в классе
- 29. Json array add на php array
- 30. php array split
спасибо, хорошая точка! хотя, если использовать любую функцию в этом массиве, например 'end ($ array)' или что-то еще, даже если массив объявлен, но пустой, это приведет к ошибке ... так что вам нужно будет это проверить в любом случае, нет? – Helmut