array_push()与$ array [] = ....哪个最快?

时间:2009-07-02 12:25:39

标签: php mysql micro-optimization

我需要将从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']);
}

提前致谢

2 个答案:

答案 0 :(得分:27)

...取决于

  

文档说

     

“如果你使用array_push()向数组添加一个元素,最好使用$ array [] =因为这样就没有调用函数的开销。”

     

来源:http://us2.php.net/array_push

因此,归结为在任何特定时刻您想要将多少数据塞入该阵列。此外,如果使用array_push调用引用的数组不存在,则会出现回落,您将遇到错误。如果使用$ array [],将为您创建数组。

答案 1 :(得分:18)

你可以运行并看到array_push在某些情况下更慢

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

运行你的代码。享受