前几天我遇到了这个php语法,我不熟悉它。我猜它可能会推动,但我真的不知道。这*与array_push($b)
完全相同吗?如果它正在完成类似的事情,请解释它是如何不同的。
$foo = array();
foreach($bar as $b)
{
$foo[] = $b; //push?
}
答案 0 :(得分:4)
唯一的区别是对array_push()
进行函数调用所涉及的一小部分额外开销与使用语言结构[]
附加到数组上相比。它们在功能上是等价的。
除非你做了数百万次,否则它们与函数调用之间的区别将完全微不足道,你不必担心它。
答案 1 :(得分:2)
$foo[] = $b
会稍快一些(如Michael所述)。
此外,作为stated in the manual,如果array_push的第一个参数不是数组,则会引发通知。使用数组括号表示法只会创建一个新数组(如果它尚不存在)。