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

2022-08-31 00:51:33

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

$first_name = array(
              'name'        => 'first_name',
              'id'          => 'first_name',
              'maxlength'   => '20',             
              'class'       => 'text',
              'placeholder' => 'First name',
            );

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


答案 1

正如其他地方提到的,这是一种风格偏好,但是我建议自己不要在PHP中添加尾随逗号,因为它在某些语言中在语法上是无效的。特别是,我想到了Internet Explorer在Javascript中对这些类型的尾随逗号的处理,当脚本在IE中失败而在其他任何地方都成功时,这些都是众所周知的难以找到的错误。它还会破坏JSON的有效性,并且在SQL列表中无效,以及其他潜在问题。SELECT

同样,这是一个偏好问题,但可能会在其他领域给你带来问题。


答案 2

最后一个元素后面的逗号可能不适用于每种语言。但是,它使版本控制系统中的差异更清晰,适用于支持的语言。

/* 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. */
);