<?php
$mainArr = '[
{"name":"Saqib1", "id":"1"},
{"name":"Saqib2", "id":"2"},
{"name":"Saqib3", "id":"3"},
{"name":"Saqib4", "id":"4"},
{"name":"Saqib5", "id":"5"},
{"name":"Saqib6", "id":"6"},
{"name":"Saqib7", "id":"7"},
{"name":"Saqib8", "id":"8"},
{"name":"Saqib9", "id":"9"},
{"name":"Saqib10", "id":"10"}
]';
// Initial array of objects
$newObject = new stdClass(); // The new object you want to add
$newObject->name = 'New';
$newObject->id = '11';
$newObject->extraKey = 'this is extra key for newObjects to identify';
$n = 3; // The number of indexes after which to add the new object
$newArr = [];
$decoded = json_decode($mainArr);
for ($i = 0; $i < count($decoded); $i++) {
$newArr[] = $decoded[$i];
if (($i + 1) % $n == 0) {
$newArr[] = $newObject;
}
}
var_dump($newArr);
- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array(13) {
[0]=>
object(stdClass)#2 (2) {
["name"]=>
string(6) "Saqib1"
["id"]=>
string(1) "1"
}
[1]=>
object(stdClass)#3 (2) {
["name"]=>
string(6) "Saqib2"
["id"]=>
string(1) "2"
}
[2]=>
object(stdClass)#4 (2) {
["name"]=>
string(6) "Saqib3"
["id"]=>
string(1) "3"
}
[3]=>
object(stdClass)#1 (3) {
["name"]=>
string(3) "New"
["id"]=>
string(2) "11"
["extraKey"]=>
string(44) "this is extra key for newObjects to identify"
}
[4]=>
object(stdClass)#5 (2) {
["name"]=>
string(6) "Saqib4"
["id"]=>
string(1) "4"
}
[5]=>
object(stdClass)#6 (2) {
["name"]=>
string(6) "Saqib5"
["id"]=>
string(1) "5"
}
[6]=>
object(stdClass)#7 (2) {
["name"]=>
string(6) "Saqib6"
["id"]=>
string(1) "6"
}
[7]=>
object(stdClass)#1 (3) {
["name"]=>
string(3) "New"
["id"]=>
string(2) "11"
["extraKey"]=>
string(44) "this is extra key for newObjects to identify"
}
[8]=>
object(stdClass)#8 (2) {
["name"]=>
string(6) "Saqib7"
["id"]=>
string(1) "7"
}
[9]=>
object(stdClass)#9 (2) {
["name"]=>
string(6) "Saqib8"
["id"]=>
string(1) "8"
}
[10]=>
object(stdClass)#10 (2) {
["name"]=>
string(6) "Saqib9"
["id"]=>
string(1) "9"
}
[11]=>
object(stdClass)#1 (3) {
["name"]=>
string(3) "New"
["id"]=>
string(2) "11"
["extraKey"]=>
string(44) "this is extra key for newObjects to identify"
}
[12]=>
object(stdClass)#11 (2) {
["name"]=>
string(7) "Saqib10"
["id"]=>
string(2) "10"
}
}
preferences:
118.57 ms | 412 KiB | 5 Q