>对象对我来说有点新。
我有一个对象属性,它是一个数组...$obj->something[]
. 我有一个多维关联数组...$schedule[$year][$month][$day][$event]
.
当我将数组加载到对象属性中时,对象会添加一个索引。
$obj->something[] = $schedule;
因此,当我将数据从对象中提取出来时,我会得到额外的索引......
[0][$year][$month][$day][$event]
我尝试了array_replace
但这似乎没有任何作用。 如何避免获得额外的领先指数?
将数组直接分配给不带方括号的属性。
$obj->something = $schedule;
在赋值语句左侧末尾使用[]
将分配的值追加到数组(如果数组尚不存在,则创建数组(。
如果您已将something
属性初始化为空数组,但它应该保存您的调度数组,您希望$schedule
替换空数组,但您这样做的方式$schedule
放入该数组中。
你可以试试array_merge http://php.net/manual/en/function.array-merge.php
class Foo {
private $something = [];
function mergeEm(array $somethingElse) {
$this->something = array_merge($this->something, $somethingElse);
}
}