我似乎无法正确工作,它只是返回每个值0。我只想要 data1 下的第一个键,所以 1111 和 3333 的值。如果我将键添加到 value0,我会得到"1"作为其值,并且显示相同数量的键。在此示例中,有四个,只有两个应该返回。
杰森:
{
"json": "success",
"data": [
{
"data0": "123",
"data1": [
{
"value0": "1111",
"value1": "aaaa"
},
{
"value0": "2222",
"value1": "bbbb"
}
]
},
{
"data0": "abc",
"data1": [
{
"value0": "3333",
"value1": "cccc"
},
{
"value0": "4444",
"value1": "dddd"
}
]
}
],
"number": 300,
"end": ""
}
.PHP:
foreach( $json->data as $data) {
foreach($data->data1 as $value) {
echo "{$value->value0}<br>";
}
}
如果你想要两个数组 0 索引
$json = json_decode($json, true);
foreach( $json['data'] as $data) {
echo $data['data1'][0]['value0']; //11113333
}
或直接使用而不使用 foreach 以获得一个值
echo $json['data'][0]['data1'][0]['value0']; //1111
要保留对象版本,您可以像这样循环:
$jsonObj = json_decode($json);
foreach($jsonObj as $value) {
foreach($value as $data => $object) {
echo $object->data1[0]->value0;
}
}
应该给你:
11113333