オブジェクトを直接渡すと、array_splice
記述した動作が得られます。
私はあなたがこれをしていると思います:
$original = array(1, 2, 3, 4, 5);
$obj = new Object;
array_splice($original, 2, 0, $obj);
これを行う必要がある場合:
array_splice($original, 2, 0, array($obj));
このようにして、個々のフィールドが挿入されるのではなく、オブジェクトが全体として挿入されます。