Php 我不能';t使用数组\u key\u exist for json responce获取指定的密钥
这张照片是:Php 我不能';t使用数组\u key\u exist for json responce获取指定的密钥,php,arrays,json,codeigniter,Php,Arrays,Json,Codeigniter,这张照片是: $status_key ="status" $response = {"error":false,"data":{"id":16420728,"order_id":"5000","mobile_no":"9995088810","amount":20,"balance":46.89,"status":"failure","tnx_id":"","response":"Transaction Failed"}}" $result = json_decode($response)
$status_key ="status"
$response = {"error":false,"data":{"id":16420728,"order_id":"5000","mobile_no":"9995088810","amount":20,"balance":46.89,"status":"failure","tnx_id":"","response":"Transaction Failed"}}"
$result = json_decode($response);
现在我正在检查指定的密钥
{
["error"]=> bool(false)
["data"]=> object(stdClass)#24 (8) {
["id"]=> int(16420728)
["order_id"]=> string(4) "5000"
["mobile_no"]=> string(10) "9995088810"
["amount"]=> int(20)
["balance"]=> float(46.89)
["status"]=> string(7) "failure"
["tnx_id"]=> string(0) ""
["response"]=> string(18) "Transaction Failed"
}
}
当我执行
var\u dump()
此函数时,它返回“bool(false)”
您有很多语法错误,并且需要修改代码,如下所示:
var_dump(array_key_exist(status_key,result));
输出:-
要获得更好的搜索方法,请借助以下线程:
输出:-变量是
$status\u键
,请参见$
?另外,状态
在数据
键下。^因此要结果
数组键存在
需要数组键存在
不要在这里发布语法错误的代码。做你的尽职调查。@muhammedshanid很高兴帮助你:)
var_dump(array_key_exists($status_key,$result->data));
//- --------------------^-^-----------^-------^--^-- missing those
$result = json_decode($response, true);
var_dump(findKey($result, $status_key));
function findKey($array, $keySearch)
{
foreach ($array as $key => $item) {
if ($key == $keySearch) {
return true;
} elseif (is_array($item) && findKey($item, $keySearch)) {
return true;
}
}
return false;
}