首页 > 解决方案 > 对象数组属性在加载数组时添加索引

问题描述

对象对我来说有些新鲜。

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

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

$obj->something[] = $schedule;

所以当我从对象中提取数据时,我得到了额外的索引......

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

我试过array_replace了,但这似乎没有任何作用。如何避免获得额外的领先索引?

标签: phparraysobject

解决方案


将数组直接分配给不带方括号的属性。

$obj->something = $schedule;

[]在赋值语句左侧末尾的using将分配的值附加到数组(如果该数组尚不存在,则创建该数组)。

如果您已将该something属性初始化为一个空数组,但它应该保存您的调度数组,您想要$schedule替换空数组,但是您这样做的方式是$schedule 放入该数组中。


推荐阅读