Ваша строка JSON недействительна .Сначала замените все точки с запятой ;
запятой ,
, а затем попробуйте использовать array_filter()
или любой другой способ, например foreach()
с условием if
и т. Д. Я использовал array_filter()
, надеюсь, это поможет :)
<?php
$json = '[{"name":"Juan","Sex":"Male","ID":"1100"},{"name":"Maria","Sex":"Female","ID":"2513"},{"name":"Pedro","Sex":"Male","ID":"2211"}]';
$array = json_decode($json,1);
$ID = 2513;
$expected = array_filter($array, function ($var) use ($ID) {
return ($var['ID'] == $ID);
});
print_r($expected);
?>
DEMO: https://3v4l.org/kZrMo