Php 计算嵌套数组中的元素数

Php 计算嵌套数组中的元素数,php,arrays,for-loop,Php,Arrays,For Loop,在for循环中,我试图计算从JSON提要解码的嵌套数组中的航班数量。不幸的是,当更多航班可用时,它只显示2个航班。我做错了什么 来自端点的Json提要示例 { "response": [ { "flight": { "number": "6204", "iata_number": "HV6204", "icao_number": "TRA6204" } }, { "flight": {

在for循环中,我试图计算从JSON提要解码的嵌套数组中的航班数量。不幸的是,当更多航班可用时,它只显示2个航班。我做错了什么

来自端点的Json提要示例

{
  "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;
});

实例:-

The
The
谢谢!这帮了大忙!谢谢!这帮了大忙!