如何在数组对象数组中(*在数组中间)插入一个新值当它是一个普通数组时,我知道该怎么做,就像这样:
$array_1 = array(
'0' => 'zero',
'1' => 'one',
'2' => 'two',
'3' => 'three',
);
echo "<pre>";
array_splice($array_1, 2, 0, 'more');
print_r($array_1);
但我不知道数组是否是这样的对象类型:
$array_1 = new ArrayObject([ '0' => 'zero',
'1' => 'one',
'2' => 'two',
'3' => 'three']);
只需像这样使用append()
:
$array_1 ->append('xy');
这与普通数组的$array[] = "xy";
几乎相同。
如果要替换arrayObject元素,只需使用offsetSet()
:
$array_1->offsetSet(2, "more");
编辑:
只需使用getArrayCopy()
,您就可以使用您熟悉的所有数组函数:
$array_1 = $array_1->getArrayCopy();
array_splice($array_1, 2, 0, 'more');
$array_1 = new ArrayObject($array_1);