我有一个JSON脚本,它有几个都包含id的对象。我想检查一个具有特定id的对象是否存在,如果是,则应该检索id。
$json = {"match_id":"1234"};
$mydata = json_decode($json,true);
$specific_id = $_GET['id'];
我怎样才能做到这一点?
答案 0 :(得分:2)
$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
}
}
您的数据很可能无法正常传递,或者您的索引或ID为空白。检查总是好的。
答案 1 :(得分:1)
您可以像这样使用in_array()
in_array($specific_id, $mydata);
答案 2 :(得分:0)
您可以将json decode用作对象并检查存在的内容:
$json = {"match_id":"1234"};
$mydata = json_decode($json);
if (isset($mydata->match_id)) {
echo $mydata->match_id; // 1234
}