Жодних орієнтирів немає, але я особисто вважаю, що $array[]
це чистіше дивитись, і чесно розщеплювати волосся протягом мілісекунд - це зовсім не має значення, якщо ви не плануєте додавати сотні тисяч рядків до свого масиву.
Редагувати : Запустити цей код:
$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
. Цікаво.