数组中的最后一个元素后没有逗号?

Cyb*_*kie 14 php arrays

我注意到一些数组在最后一项之后没有逗号.我有一个数组:

$first_name = array(
              'name'        => 'first_name',
              'id'          => 'first_name',
              'maxlength'   => '20',             
              'class'       => 'text',
              'placeholder' => 'First name',
            );
Run Code Online (Sandbox Code Playgroud)

我有一个逗号,但没有PHP错误.我应该保留还是删除逗号?

Mic*_*ski 15

这是其他地方提到的样式首选项,但是我建议你不要在PHP中添加那个尾随逗号,因为它在某些语言中在语法上是无效的.特别是,我正在考虑Internet Explorer在Javascript中处理这些类型的尾随逗号,这些错误很难找到当IE中的脚本在其他地方成功时失败的错误.它还会破坏JSON的有效性,并且在SQL SELECT列表中无效,以及其他潜在问题.

同样,这是一个偏好问题,但可能会导致其他方面的问题.

  • 我同意这一点--EJ7和JS一起咬过我,正如迈克尔所描述的那样 (4认同)
  • 仅在这里选择IE是不公平的.SQL脚本也将以尾随逗号失败,但RDBMS至少会在大多数时间提供有用的错误消息. (2认同)

jud*_*dda 5

在许多语言中,两者在语法上都是正确的。如果留空,最后一个元素将被忽略。,这是一个内置于语言中的漂亮的小复活节彩蛋,因此如果您必须手动添加更多值,则不必在开始修改数组之前不断添加。


Mic*_*has 5

最后一个元素后的逗号可能不适用于所有语言。然而,它使版本控制系统中的差异对于支持的语言更加清晰。

/* From */
$a = array(
    'element_w',
    'element_x',
);
/* To */
$a = array(
    'element_w',
    'element_x',
    'element_y', /* Only this line will show in version control. */
);


/* From */
$a = array(
    'element_w',
    'element_x'
);
/* To */
$a = array(
    'element_w',
    'element_x', /* These two lines               */
    'element_y'  /* will show in version control. */
);
Run Code Online (Sandbox Code Playgroud)