Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查特定的JSON对象在php中是否可用_Php_Json - Fatal编程技术网

检查特定的JSON对象在php中是否可用

检查特定的JSON对象在php中是否可用,php,json,Php,Json,我有以下建议: $p={ "main1" : [ { "child1" : valueA, "child2" : valueB, "child3" : valueC, }, { "child1" : value1, "child3" : value3, }, ], "main2" : "valueMain2" } 必须检查元素child2是否存在,然后取该值。我正在使用json_解码: $r

我有以下建议:

$p={
  "main1" : [
    {
      "child1" : valueA,
      "child2" : valueB,
      "child3" : valueC,
    },
    {
      "child1" : value1,
      "child3" : value3,
    },
  ],
  "main2" : "valueMain2"
}
必须检查元素
child2
是否存在,然后取该值。我正在使用json_解码:

$response = json_decode($p,true);

如何检查PHP中是否存在元素?我必须创建单独的功能还是有内置功能?

与检查是否存在任何数组的键的方法相同:


使用
isset($array['key'])
array\u key\u存在('key',$array)

我就是这样做的

$child2exists = count($response['main1']['child2']);

If ($child2exists == 1) 
{ 
    echo "EXISTS"; 
}
else
{ 
    echo "DOESNT EXIST"; 
}

希望这能有所帮助。

isset($response['foo'])
?或
array\u key\u存在(“child2”,$response)@lax谢谢你,效果很好。你可以把它写在答案里,我会接受:)要么在那里,要么不在那里,看看拉夫的解决方案。是的。拉福斯是一个更好的解决方案。我只是说我是怎么做到的。虽然在我的例子中,我也希望它返回它有多少个条目(如果它存在的话)。