我似乎无法正常工作它只返回value0。我只想要data1下的第一个键,所以值为1111和3333.如果我将一个键添加到value0,我将得到“1”作为其值,并显示相同的数量。在这个例子中有四个,只有两个应该返回。
JSON:
{
"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 :(得分:0)
如果你想要数组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
答案 1 :(得分:0)
要保留对象版本,可以这样循环:
$jsonObj = json_decode($json);
foreach($jsonObj as $value) {
foreach($value as $data => $object) {
echo $object->data1[0]->value0;
}
}
应该给你:
11113333