30

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

2 回答 2

29

这取决于...

文档说

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

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

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

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

于 2009-07-02T12:27:51.077 回答
21

You can run it and see that array_push is slower in some cases:

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

Run your code. Enjoy.

于 2009-07-02T12:33:09.927 回答