如何知道Json字符串中是不是存在密钥[重复]
Posted
技术标签:
【中文标题】如何知道Json字符串中是不是存在密钥[重复]【英文标题】:how to know whether key exists in Json string [duplicate]如何知道Json字符串中是否存在密钥[重复] 【发布时间】:2012-04-27 21:51:42 【问题描述】:可能重复:How to check if an array element exists?
抱歉,如果我错了,我是 php 新手,有没有办法在 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字符串中是否存在key,请帮助我,我正在使用PHP 5.3 and Codeigniter 2.1 MVC
提前谢谢
【问题讨论】:
阅读文档可能会有所帮助:php.net/manual/en/function.array-key-exists.php 【参考方案1】:如果您还想检查该值是否不是null
,您可以使用isset
if( isset( $mydata['user_id'] ) )
// do something
即array_key_exists
和 isset
的区别在于与
$json = "user_id": null
array_key_exists
将返回 true
而isset
将返回 false
【讨论】:
【参考方案2】:你可以试试array_key_exists。
它返回一个布尔值,所以你可以像这样搜索它:
if(array_key_exists('user_id', $mydata))
//key exists, do stuff
【讨论】:
以上是关于如何知道Json字符串中是不是存在密钥[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 PL/pgSQL 检查密钥是不是存在于 JSON 中?