<?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);
preferences:
33.66 ms | 407 KiB | 5 Q