我有以下JSON:
$p={
"main1" : [
{
"child1" : valueA,
"child2" : valueB,
"child3" : valueC,
},
{
"child1" : value1,
"child3" : value3,
},
],
"main2" : "valueMain2"
}
必须检查元素child2
是否存在,然后取值。我正在使用json_decode:
$response = json_decode($p,true);
如何检查PHP中是否存在元素?我是否必须制作单独的功能或是否有内置功能?
答案 0 :(得分:9)
与检查是否存在任何数组的键的方式相同:
isset($array['key'])
或array_key_exists('key',$array)
。
答案 1 :(得分:1)
以下是我一直在做的事情。
$child2exists = count($response['main1']['child2']);
If ($child2exists == 1)
{
echo "EXISTS";
}
else
{
echo "DOESNT EXIST";
}
希望这有帮助。
答案 2 :(得分:0)
您可以将json decode用作对象并检查存在的内容:
$response = json_decode($p);
if (isset($response->main2)) {
echo $response->main2; // valueMain2
}
您还可以使用foreach获取项目列表:
foreach ($response->main1 as $item) {
echo $item->child1; // valueA value1
}