在 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()是初始化数组,【】是添加新元素
这听起来可能很傻,但我的问题是关于数组及其语法的:
用这种语法声明数组不是多余的吗?
$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()是初始化数组,【】是添加新元素