array_push () против $ array [] =… Какой самый быстрый? [Дубликат]

На этот вопрос уже есть ответ:

Что лучше использовать в PHP $ array [] = $ value или array_push ($ array, $ value)? 10 ответов

Мне нужно добавить значения, полученные из MySQL, в массив [PHP], вот что я получил:

$players = array();

while ($homePlayerRow = mysql_fetch_array($homePlayerResult)) {
    $players[] = $homePlayerRow['player_id'];
}

Это единственный способ сделать это?Такж, следующее быстрее / лучше?

$players = array();

while ($homePlayerRow = mysql_fetch_array($homePlayerResult)) {
    array_push($players, $homePlayerRow['player_id']);
}

Заранее спасиб

 DisgruntledGoat08 июл. 2009 г., 19:11
Если у вас есть доступ только к ассоциативным ключам (player_id), тогда лучше всего использоватьmysql_fetch_assoc. Вы также можете использоватьmysql_fetch_row тогда$homePlayerRow[0], что немного быстрее.

Ответы на вопрос(2)

Решение Вопроса

что array_push медленнее в некоторых случаях

http: //snipplr.com/view/759/speed-test-arraypush-vs-array

запусти свой код. наслаждатьс

 Anriëtte Myburgh01 сент. 2010 г., 01:10
Только что проверил эту ссылку, и это правильно, виагра не указывает. :)

Документация говорит,

"Если вы используете array_push () для добавления одного элемента в массив, лучше использовать $ array [] =, потому что в этом случае нет необходимости вызывать функцию."

Источник:http: //us2.php.net/array_pus

Так что все сводится к тому, сколько данных вы хотите втиснуть в этот массив в любой конкретный момент. Кроме того, есть запасной вариант: если ссылка на массив не существует, когда вы вызываете его с помощью array_push, вы столкнетесь с ошибкой. Если вы используете $ array [], массив будет создан для вас.

 DisgruntledGoat08 июл. 2009 г., 19:07
Я считаю, что быстрее объявить массив (с$arr = array()) Перед использованием$arr[] = X. Это также полезно, если ваш$arr[]ператоры @ находятся внутри некоторой логики управления - в конце у вас все еще есть переменная, массив без элементов.
 Anriëtte Myburgh02 июл. 2009 г., 16:10
В конце я решил использовать массив [] = ... так как массив может стать очень большим на некотором этапе

Ваш ответ на вопрос