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

27

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

Что лучше использовать в 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']);
}

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

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

Ваш Ответ

2   ответа
18

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

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

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

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

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

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

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

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

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

Похожие вопросы