为什么 PHP 数组示例会留下尾随逗号?

2022-08-30 07:58:15

我看到过这样的例子:

$data = array(
   'username' => $user->getUsername(),
   'userpass' => $user->getPassword(),
   'email' => $user->getEmail(),
);

但是,在实践中,我总是留下尾随逗号。是我做错了什么,还是这只是“另一种”方式?如果我使用的是框架,尾随逗号不会对代码生成产生负面影响吗?我也在其他语言(Java,C++)的数组声明中使用了尾随逗号,所以我假设留下尾随逗号的原因不是PHP所特有的,但这激起了我的兴趣。


答案 1

为什么 PHP 数组示例会留下尾随逗号?

因为他们可以。:)数组的 PHP 手册条目指出:

在最后定义的数组条目之后使用尾随逗号虽然不常见,但却是一种有效的语法。

说真的,这完全是为了方便起见,因此您可以轻松地将另一个元素添加到数组中,而无需首先将尾随逗号添加到最后一个条目中。

说到其他语言:在JavaScript中要小心这一点。一些较旧的浏览器会抛出错误,尽管较新的浏览器通常允许它。


答案 2

在多行上定义数组时,这是一种很好的做法。ZendFramework的编码标准也鼓励了这一点:

当使用后一个声明时,我们鼓励对数组中的最后一项使用尾随逗号;这样可以最大程度地减少在连续行上添加新项的影响,并有助于确保不会因缺少逗号而发生分析错误。