3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = <<<EOD [ { "id": "3", "type": "default", "place": "1" }, { "id": "3", "type": "default", "place": "2" }, { "id": "3", "type": "default", "place": "3" } ] EOD; $array = json_decode($json, true); // Here is trick; get the key of the array using array_column $key = array_search('2', array_column($array, 'place')); // If any key found modify the array if ($key && array_key_exists($key, $array)) { $array[$key] = [ 'id' => 7, 'type' => 1, 'place' => 2, 'description' => 'This is item place 2', 'image' => 'this_is_the_image.png', ]; } print_r($array);
Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
Array ( [0] => Array ( [id] => 3 [type] => default [place] => 1 ) [1] => Array ( [id] => 7 [type] => 1 [place] => 2 [description] => This is item place 2 [image] => this_is_the_image.png ) [2] => Array ( [id] => 3 [type] => default [place] => 3 ) )

preferences:
153.07 ms | 408 KiB | 5 Q