Что лучше использовать в PHP для добавления члена массива $array[] = $value или array_push($array, $value) ? 
  Хотя в руководстве говорится, что вам лучше избегать вызова функции, я также прочитал $array[] намного медленнее, чем array_push() .  Кто-нибудь имеет какие-либо разъяснения или контрольные показатели? 
  Нет контрольных показателей, но я лично чувствую, что $array[] чище смотреть, и честно расщепляя волосы за миллисекунды, не имеет никакого значения, если вы не планируете добавлять сотни тысяч строк в свой массив. 
Изменить : Ran этот код:
 $t = microtime(true); $array = array(); for($i = 0; $i < 10000; $i++) { $array[] = $i; } print microtime(true) - $t; print '<br>'; $t = microtime(true); $array = array(); for($i = 0; $i < 10000; $i++) { array_push($array, $i); } print microtime(true) - $t; 
  Первый метод с использованием $array[] почти на 50% быстрее, чем второй. 
 Run 1 0.0054171085357666 // array_push 0.0028800964355469 // array[] Run 2 0.0054559707641602 // array_push 0.002892017364502 // array[] Run 3 0.0055501461029053 // array_push 0.0028610229492188 // array[] 
Это не должно удивлять, поскольку в руководстве PHP это делается:
Если вы используете array_push () для добавления одного элемента в массив, лучше использовать $ array [] =, потому что таким образом нет накладных расходов на вызов функции.
  Как это сформулировано Я бы не удивился, если array_push более эффективен при добавлении нескольких значений.  EDIT : Из любопытства, сделал некоторые дополнительные тесты и даже для большого количества дополнений, отдельные вызовы $array[] быстрее, чем один большой array_push .  Интересно. 
Основное использование array_push () состоит в том, что вы можете нажать несколько значений в конец массива.
В документации говорится:
Если вы используете array_push () для добавления одного элемента в массив, лучше использовать $ array [] =, потому что таким образом нет накладных расходов на вызов функции.
  Из php docs для array_push : 
Примечание. Если вы используете array_push () для добавления одного элемента в массив, лучше использовать $ array [] =, потому что таким образом нет накладных расходов на вызов функции.
Слово на улице – это то, что [] быстрее, потому что накладные расходы для вызова функции. Кроме того, никто не любит функции массива PHP …
«Это … стога сена, игла …. или это игольная сена … ах, f *** это … [] ="
Одно из отличий заключается в том, что вы можете вызывать array_push () с более чем двумя параметрами, то есть вы можете нажимать на массив несколько элементов за один раз.
 $myArray = array(); array_push($myArray, 1,2,3,4); echo join(',', $myArray); 
  отпечатки 1,2,3,4 
Простая декларация $ myarray [] будет быстрее, поскольку вы просто нажимаете элемент на стек элементов из-за отсутствия накладных расходов, которые могла бы принести функция.
Поскольку « array_push » – это функция, и она вызывается несколько раз, когда она находится внутри цикла, поэтому она выделяет память в стек. Но когда мы используем $ array [] = $ value, мы просто присваиваем значение массиву.
  Второй – вызов функции, поэтому, как правило, он должен быть медленнее, чем использование основных функций доступа к массиву.  Но я думаю, что даже один запрос к базе данных в вашем скрипте будет array_push() 1.000.000 вызовов array_push() . 
  Хотя вопрос был больше о производительности, люди придут к этому вопросу, задаваясь вопросом, стоит ли использовать array_push или $arr[] . 
Функция может означать меньшие линии для нескольких значений:
 // 1 line: array_push($arr, "Bob", "Steve"); // versus 2 lines: $arr[] = "Bob"; $arr[] = "Steve"; 
  Однако array_push … 
  Я буду придерживаться $arr[] . 
  Я просто не хочу добавлять: int array_push(...) возвращает новое число элементов в массиве ( php doc ).  который может быть полезным и более компактным, чем $myArray[] = ...; $total = count($myArray); $myArray[] = ...; $total = count($myArray);  , 
  Также array_push(...) имеет смысл, когда переменная используется как стек.