3v4l.org

run code in 300+ PHP versions simultaneously
<?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