我有一个json对象如下。我需要val1
。如果我指定non_unique_name
,我可以使用以下代码执行此操作,但因为隐含的名称可能会更改,因此我无法检索它。
<?php
$json = '{"key": {"non_unique_name": {"val1": true, "val2": flase}}}';
$array = json_decode( $json, true );
print_r( $array );
$location = $array['key'];
echo $location['non_unique_name']['val1'];
?>
我尝试使用echo $location[0]['val1'];
访问它但是这不起作用。有人知道访问它的正确方法吗?
答案 0 :(得分:0)
您可以使用key($location)
获取密钥值。
当key($location)
返回&#39; non_unique_name&#39;时,您可以使用
$location[key($location)]['val1'];
获取true
(JSON中的val1值)。
答案 1 :(得分:0)
使用array_values
获取'non_unique_name'
键值
$array = json_decode(json_encode($json ),true);
$a =array_values($array['key']);
print_r($a[0]['val1']);
答案 2 :(得分:0)
您可以通过以下方式访问变量val1
$json = '{"key": {"non_unique_name": {"val1": true, "val2": false}}}';
$json_array = json_decode($json);
foreach($json_array as $val)
{
echo $val->non_unique_name->val1;
}