2012-04-16 72 views
17

可能重复:
How to check if an array element exists?怎么知道的JSON字符串是否存在关键

道歉,如果我错了,我是新来的PHP,有什么办法找出是否密钥存在于使用json_decode函数进行解码后的Json字符串中。

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

简介:

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

如果JSON字符串不是由USER_ID的,它抛出像Undefined index user_id一个异常,那么有没有什么办法来检查JSON字符串是否存在的关键,请帮帮我,我正在使用PHP 5.3 and Codeigniter 2.1 MVC在此先感谢

+0

阅读文档可能会有帮助:http://www.php.net/manual/en/function.array-key-exists.php – 2012-04-16 14:44:56

回答

19

您可以尝试array_key_exists

它返回一个布尔值,这样你就可以搜索它像:

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

如果你想也检查值不null可以使用isset

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

array_key_existsisset之间的区别在于

$json = {"user_id": null} 

array_key_exists将返回trueisset将返回false

相关问题