繁体   English   中英

使用PHP中的非唯一键从JSON获取值

[英]Get value from json with non unique key in php

我有一个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'];访问它echo $location[0]['val1']; 但是,这不起作用。 有人知道访问此内容的正确方法吗?

您可以使用key($location)获得键值。

key($location)返回'non_unique_name'时,您可以使用

$location[key($location)]['val1'];

以获得true (JSON中val1的值)。

使用array_values获取'non_unique_name'键值

$array = json_decode(json_encode($json ),true);
$a =array_values($array['key']);
print_r($a[0]['val1']);

您可以通过以下方式访问变量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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM