У меня есть сценарий JSON, который имеет несколько объектов, все из которых содержат идентификатор. Я хочу проверить, есть ли объект с определенным идентификатором, и если да, то этот идентификатор должен быть восстановлен.
$json = {"match_id":"1234"};
$mydata = json_decode($json,true);
$specific_id = $_GET['id'];
Как я могу достичь этого?
$data = json_decode($json, true);
if (!empty($data['match_id']) {
// if you're sending your ids as a comma'd string, for some reason
$ids = explode(',', $data['match_id']);
if (in_array($idYouAreCheckingFor, $ids)) {
// do something
}
}
if (!empty($data['match_id']) {
// if not, ignore the above line
if (in_array($idYouAreCheckingFor, $data['match_id'])) {
// do something
}
}
Возможно, ваши данные не будут переданы правильно, или ваш индекс или идентификаторы пустые. Всегда хорошо проверять.
Вы можете использовать in_array()
как это
in_array($specific_id, $mydata);
Вы можете использовать json-декодирование как объект и проверить все существующее:
$json = {"match_id":"1234"};
$mydata = json_decode($json);
if (isset($mydata->match_id)) {
echo $mydata->match_id; // 1234
}