在 PHP 中用 array() 和方括号声明数组是多余的

Redundant in declaring an array with array() and square brackets in PHP

这听起来可能很傻,但我的问题是关于数组及其语法的:

用这种语法声明数组不是多余的吗?

$data[] = array(
    'ct_id' => $row->ct_id,
    'association' => $row->association_name,
    'designation' => $row->designation_name,
    'license_number' => $row->license_number,
    'license_date' => $row->license_date ? date("jS F, Y", strtotime($row->license_date)) : '',
    'date_added' => date("jS F, Y", strtotime($row->date_added))
);

数组的声明是否足以定义一个数组?

此代码发生在这样的 foreach 循环中:

foreach ($this->something->result() as $row) {..}

这里发生了两件事。

array(...)

是一种在PHP中定义数组的语法。

$data[] = ...

取等号右边的任何内容,将其追加$data.

中包含的数组

所以你的结果应该是这样的:

$data => array(
    array(
        ...
    )
)

你应该在声明数组时不带【】

如果要在数组中添加新元素,请使用【】,如下所示,

$data【"test key"】="test value";

所以array()是初始化数组,【】是添加新元素