如何知道 Json 字符串中是否存在键

2022-08-30 10:42:42

可能的重复:
如何检查数组元素是否存在?

如果我错了,很抱歉,我是PHP新手,有没有办法在PHP中使用函数解码后找出字符串中是否存在键。Jsonjson_decode

$json = {"user_id":"51","password":"abc123fo"};

短:

$json = {"password":"abc123fo"};
$mydata = json_decode($json,true);
user_id = $mydata['user_id'];

如果json字符串不包含user_id,它会抛出一个异常,所以有没有办法检查Json字符串中是否存在密钥,请帮帮我,我使用得很感谢提前Undefined index user_idPHP 5.3 and Codeigniter 2.1 MVC


答案 1

如果您还想检查值是否不是,则可以使用nullisset

if( isset( $mydata['user_id'] ) ){
   // do something
}

即 和 之间的区别是array_key_existsisset

$json = {"user_id": null}

array_key_exists会回来,而会回来trueissetfalse


答案 2

您可以尝试array_key_exists

它返回一个布尔值,因此您可以按如下方式搜索它:

if(array_key_exists('user_id', $mydata)) {
    //key exists, do stuff
}

推荐