array_push() vs. $array[] = ....哪个是最快的?

2022-08-30 14:52:59

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

答案 1

这取决于...

文档说

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

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

因此,它归结为您希望在任何特定时刻将多少数据塞入该数组。

此外,还有一个回退。如果在使用array_push调用数组引用时不存在,则会引发错误。如果使用 $array[],将为您创建数组。


答案 2

您可以运行它,并看到在某些情况下array_push速度较慢:

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

运行代码。享受。


推荐