Php 对象数组属性在加载数组时添加索引

Php 对象数组属性在加载数组时添加索引,php,arrays,object,Php,Arrays,Object,对象对我来说有些陌生 我有一个对象属性,它是一个数组$obj->something[]。 我有一个多维关联数组$schedule[$year][$month][$day][$event] 当我将数组加载到object属性中时,对象会添加一个索引 $obj->something[] = $schedule; 所以当我从对象中提取数据时,我会得到额外的索引 [0][$year][$month][$day][$event] 我尝试了array\u replace,但似乎没有任何效果。如何

对象对我来说有些陌生

我有一个对象属性,它是一个数组<代码>$obj->something[]。 我有一个多维关联数组<代码>$schedule[$year][$month][$day][$event]

当我将数组加载到object属性中时,对象会添加一个索引

$obj->something[] = $schedule;
所以当我从对象中提取数据时,我会得到额外的索引

[0][$year][$month][$day][$event]  

我尝试了
array\u replace
,但似乎没有任何效果。如何避免获取额外的前导索引?

将数组直接分配给属性,而不使用方括号

$obj->something = $schedule;
在赋值语句左侧末尾使用
[]
将赋值附加到数组(如果数组尚不存在,则创建该数组)


如果您已将
something
属性初始化为空数组,但它应该保存您的计划数组,则您希望
$schedule
替换空数组,但这样做会将
$schedule
放入该数组。

您可以尝试合并数组


非常感谢你!我本应该看到的,但在兜了这么长时间的圈子后,我变得心不在焉。
class Foo {
   private $something = [];

   function mergeEm(array $somethingElse) {
      $this->something = array_merge($this->something, $somethingElse); 
   }
}