PHP ArrayObject вставить внутри массива

Как вставить новое значение внутри (* в середине массива) массив 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']);

1

Решение

Просто используйте 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);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]