检查json对象的名称是否等于某个东西

时间:2016-05-24 16:19:11

标签: php json

所以我有一个基本的json文件:

{
    "User1": {
        "id": 1,
        ....
    },
    "User2": {
        "id": 3
        ....
    }
}

我想获取用户的所有名称(即“User1”或“User2”),并检查用户输入的名称是否等于其中一个名称。

我试过这个,但它不起作用:

foreach($this->blackList as $user) {
    if($user == $username)
        return "TRUE";
    }
    return "FALSE";
}

2 个答案:

答案 0 :(得分:2)

我假设$ this-> blackList被解码为你的json字符串。如果是,那么代码应如下所示:

foreach($this->blackList as $blackName => $user) {
    if($blackName == $username)
        return true;
    }

}
return false;

答案 1 :(得分:1)

我认为你根本不需要循环:

return array_key_exists($username, $this->blackList);

或者如果你有json_decoded对象而不是数组:

return property_exists($this->blackList, $username);