Php 计算嵌套数组中的元素数
在for循环中,我试图计算从JSON提要解码的嵌套数组中的航班数量。不幸的是,当更多航班可用时,它只显示2个航班。我做错了什么 来自端点的Json提要示例Php 计算嵌套数组中的元素数,php,arrays,for-loop,Php,Arrays,For Loop,在for循环中,我试图计算从JSON提要解码的嵌套数组中的航班数量。不幸的是,当更多航班可用时,它只显示2个航班。我做错了什么 来自端点的Json提要示例 { "response": [ { "flight": { "number": "6204", "iata_number": "HV6204", "icao_number": "TRA6204" } }, { "flight": {
{
"response": [
{
"flight": {
"number": "6204",
"iata_number": "HV6204",
"icao_number": "TRA6204"
}
},
{
"flight": {
"number": "7012",
"iata_number": "TB7012",
"icao_number": "JAF7012"
}
},
{
"flight": {
"number": "6652",
"iata_number": "HV6652",
"icao_number": "TRA6652"
}
},
{
"flight": {
"number": "1925",
"iata_number": "W61925",
"icao_number": "WZZ1925"
}
},
{
"flight": {
"number": "5075",
"iata_number": "W65075",
"icao_number": "WZZ5075"
}
},
{
"flight": {
"number": "4289",
"iata_number": "W64289",
"icao_number": "WZZ4289"
}
},
{
"flight": {
"number": "7861",
"iata_number": "W67861",
"icao_number": "WZZ7861"
}
},
{
"flight": {
"number": "3066",
"iata_number": "FR3066",
"icao_number": "RYR3066"
}
}
]
} .
PHP代码示例
<?php
$url = 'https://api.endpoint'; // path to JSON file
$data = file_get_contents($url);
$flights = json_decode($data, true);
for($i=0; $i<=count($flights['response'][0]['flight']['iata_number']); $i++) {
echo "Flightnumber" . $flights['response'][$i]['flight']["iata_number"] . '<br/>';
}
?>
非常感谢($i=0;$i
for($i=0;$i这里真正应该使用的是foreach
。使用foreach
您不必关心数组的count()
:
for($i=0; $i<count($flights['response'][0]['flight']['iata_number']); $i++) {
echo "Flightnumber" . $flights['response'][$i]['flight']["iata_number"] . '<br/>';
}
$url = 'https://api.endpoint'; // path to JSON file
$data = file_get_contents($url);
$flights = json_decode($data, true);
foreach ($flights['response'] as $item) {
echo $item['flight']['iata_number'] . '<br />';
}
这里真正应该使用的是foreach
。使用foreach
您不必关心数组的count()
:
$url = 'https://api.endpoint'; // path to JSON file
$data = file_get_contents($url);
$flights = json_decode($data, true);
foreach ($flights['response'] as $item) {
echo $item['flight']['iata_number'] . '<br />';
}
您可以使用array\u walk\u recursive
array_walk_recursive($jarr, function($v, $k) use (&$flights){
if($k == 'iata_number') $flights[] = $v;
});
实例:-您可以使用array\u walk\u recursive
array_walk_recursive($jarr, function($v, $k) use (&$flights){
if($k == 'iata_number') $flights[] = $v;
});
实例:-TheThe谢谢!这帮了大忙!谢谢!这帮了大忙!