我正在使用一个API来提取机场信息数据并以json的形式打印数据。
我正在使用json_decode()将这个json存储到一个数组中(我正在使用,true)
我有一个循环来检查到达飞机的数量并且它成功,因为如果有15个到达它可以打印出一串文本15次。但是,在解码json时我需要使用参数来获取信息。例如,如果我想了解到达的人数,我需要这样做:
$jsonDecode = json_decode($json_file, true);
print_r($jsonDecode['AirportBoardsResult']['arrivals']['num_flights']);
这给出了有多少到达,结果可以放入这样的变量:
$arrivals = $jsonDecode['AirportBoardsResult']['arrivals']['num_flights'];
如果我打印它,它将打印正确的整数。 但是,要获得第一班航班的航班号,您需要这样做:
$flightnumber = $jsonDecode['AirportBoardsResult']['arrivals']['flights']['0']['ident'];
其中'0'是第一个航班,'1'是第二个等... 我试图创建一个for循环来获取所有到达的航班数,这是代码:
$initialCode = $jsonDecode['AirportBoardsResult']['arrivals']['flights'];
for($arrivalInt = $arrivals; $arrivalInt > 0; $arrivalInt--) {
$flightnumbers = $initialCode . $arrivalInt . 'ident';
echo $flightnumbers;
}
但这似乎不起作用。我尝试使用array_push在结尾添加$ arrivalInt和'ident'但不是。我试着这样做:
for($arrivalInt = $arrivals; $arrivalInt > 0; $arrivalInt--) {
$flightnumbers = $initialCode . "[" . "'" . $arrivalInt . "'" . "]" . "[" . "'" . "ident" . "'" . "]";
echo $flightnumbers;
}
但结果相同:(我得到的结果只是$ initialCode的回声。
基本上我只想将参数添加到json_decode的末尾。
感谢任何帮助:)
答案 0 :(得分:0)
感谢@ jh1711的答案!
我应该使用foreach循环,如下所示:
foreach($initialCode as $flight) {
$flightnumber = $flight['ident'];
echo $flightnumber;
}