Есть ли какая-то разница между array() и [] в массивах PHP, и нужна ли в конце запятая?

12
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
1598

Всем привет!

Есть ли разница в использовании массивов в PHP между array() и квадратными скобочками []?

Где то слышал что какой-то чувак рекомендует использовать [] вместо array(), почему непонятно. Ещё из наблюдений – слышал, что array() – это что-то там конструкция языка, а скобочки появились просто как укороченный синтаксис с ~5.4 версии PHP.

И ещё один вопрос подвопрос, про запятую в конце перечисления элементов массива, там в конце вроде как хочешь можешь ставить запятую, а хочешь можешь не ставить, есть ли в этом какой-то чисто технический скрытый смысл или это только для дизайна(кодочитаемости)?

Заранее всем спасибо за ответы, и извиняюсь если такой вопрос уже был или он тупой столетней давности :)!


temniy
На сайте с 15.03.2008
Offline
240
#1

array()  - устаревшая нотация, [] - новая. Пока работают обе. 

Запятую ставить не обязательно, я никогда не ставлю.

⭐ Лучший хостинг от 4 евро, VPS от 6 евро, VPN недорого - разные локации - любые карты - скидки до 20% - https://fornex.com/c/ffi2e3/ru/services/
fliger
На сайте с 17.09.2015
Offline
107
#2
temniy #:

array()  - устаревшая нотация, [] - новая. Пока работают обе. 

https://www.php.net/manual/ru/language.types.array.php

" Существует короткий синтаксис массива, который заменяет array() на [] ." Где вы, интересно, вычитали про устаревшую нотацию и то, что она пока работает?

Запятую после последнего элемента обычно оставляют, если после него будут добавляться новые элементы.

Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#3
fliger #:
Запятую после последнего элемента обычно оставляют, если после него будут добавляться новые элементы.

Я так и не понял с запятой, это удобно если после неё будут добавляться новые элементы имеется ввиду вручную мной самим, или если эту запятую не поставить, то новые элементы не будут добавляться автоматически, не судите строго я плохо в этом понимаю, но я догадываюсь что это вроде как что-то для удобства программиста, а не для автоматического добавления элементов ( Они наверное будут добавляться при любом раскладе, с запятой, без запятой ).

Я вспомнил где я видел про чела, который рекомендует скобочки, это в комментариях:

https://www.php.net/manual/ru/language.types.array.php#124810

// Before php 5.4

$array = array(1,2,3);

// since php 5.4 , short syntax

$array = [1,2,3];

// I recommend using the short syntax if you have php version >= 5.4
Только я не могу понять почему он это рекомендует – типо это работает быстрее, лучше выглядит, ново и профессионально?
W1
На сайте с 22.01.2021
Offline
302
#4
Dmitriy_2014 :

Всем привет!

Есть ли разница в использовании массивов в PHP между array() и квадратными скобочками []?

В новых версиях без разницы, в старых версиях квадратные скобки не работают.

Dmitriy_2014 :

И ещё один вопрос подвопрос, про запятую в конце перечисления элементов массива, там в конце вроде как хочешь можешь ставить запятую, а хочешь можешь не ставить, есть ли в этом какой-то чисто технический скрытый смысл или это только для дизайна(кодочитаемости)?

Запятую в конце ставят исключительно для того, чтобы не забыть её поставить в случае последующего изменения кода с целью добавления новых элементов.

Мой форум - https://webinfo.guru –Там я всегда на связи
Mik Foxi
На сайте с 02.03.2011
Offline
1092
#5

https://www.php.net/manual/ru/language.types.array.php все ж понятно написано.

Dmitriy_2014 :
Где то слышал что какой-то чувак рекомендует использовать

не нужно слушать каких-то чуваков, нужно читать официальную документацию.

это какой-то левый чел в комментах от себя рекомендует. потому что ему лично так визуально нравится, возможно от просто из секты свидетелей сокращенного синтаксиса, не надо вступать в их секту.
Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#6
Mik Foxi #:

https://www.php.net/manual/ru/language.types.array.php все ж понятно написано.

не нужно слушать каких-то чуваков, нужно читать официальную документацию.

это какой-то левый чел в комментах от себя рекомендует. потому что ему лично так визуально нравится, возможно от просто из секты свидетелей сокращенного синтаксиса, не надо вступать в их секту.
Так получается что array() равен [], и единственное что я получу если поменяю его во всех местах это небольшое уменьшение php файлов?
S
На сайте с 13.10.2014
Offline
171
#7
Dmitriy_2014 #:
Только я не могу понять почему он это рекомендует – типо это работает быстрее, лучше выглядит, ново и профессионально?

Красивее.  и потом сквадратными скобками гораздо интереснее выглядит вот такой финт ушами

$i = (object)[ 'apple'=>1,'banana'=>2 ];
S
На сайте с 13.10.2014
Offline
171
#8
Dmitriy_2014 #:
Так получается что array() равен [], и единственное что я получу если поменяю его во всех местах это небольшое уменьшение php файлов?

в целом - да.

Mik Foxi
На сайте с 02.03.2011
Offline
1092
#9
Dmitriy_2014 #:
и единственное что я получу если поменяю его во всех местах это небольшое уменьшение php файлов?
получишь проблемы с обратной совместимостью в версиях пхп. На сколько процентов уменьшится размер твоего всего пхп кода? )))
RH
На сайте с 01.04.2021
Offline
13
#10
Dmitriy_2014 :

Есть ли разница в использовании массивов в PHP между array() и квадратными скобочками []?

Использование array() или [] зависит от стиля кодинга.

[] - является coding standart во многих современных проектах.

Dmitriy_2014 :

И ещё один вопрос подвопрос, про запятую в конце перечисления элементов массива, там в конце вроде как хочешь можешь ставить запятую, а хочешь можешь не ставить, есть ли в этом какой-то чисто технический скрытый смысл или это только для дизайна(кодочитаемости)?

А ставить запятую в конце - это хороший стиль.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий