PHP ArrayObject插入数组

PHP ArrayObject insert inside the array

如何在 ArrayObject 的数组中(*在数组中间)插入一个新值 当它是一个普通数组时,我知道该怎么做,就像这样:

$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);