php如何解释语法$var[]=$val



我在浏览一些继承的PHP代码时发现了以下内容:

$emails=array();
foreach($usrs as $usr){
    $emails[]=$usr['email'];
}

很明显,这是在试图提取用户列表中每个对象的"电子邮件"属性,并将其保存在一个数组中。这就是我想要它做的。这能做到吗?我从来没有见过这样的事情会这样。我把它换成

array_push($emails, $usr['email']);

因为我知道这就是我想要的。

两者几乎相同。

它将向数组的末尾添加一个项,就像array_push一样。唯一的区别是array_push返回数组中新的元素数。显然,空括号表示法不会返回任何内容。

你应该熟悉这个符号,它更容易打字和阅读。

PHP文档上的array_push提到了这种表示法的使用,并涵盖了另外两个区别。

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

注意:如果第一个参数不是数组,array_push()将引发警告。这与创建新数组的$var[]行为不同。

当您想将多个元素推送到一个数组时,可以使用array_push

array_push($emails, $var1, $var2, $var3, ...);

否则,如果您只将一个元素推送到一个数组,只需使用:

$emails[] = $var;

这为您节省了一个函数调用。

是的,它也做同样的事情。分配给$array[]相当于将一个元素推送给$array

此外,它看起来更漂亮,所以使用它;)

最新更新