【发布时间】:2017-11-11 12:52:37
【问题描述】:
我正在使用一个 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的末尾。
任何帮助表示赞赏:)
【问题讨论】:
-
我认为你错过了参数
-
$arrivals = $jsonDecode['AirportBoardsResult']['arrivals']['flights'];
-
我想将参数['$arrivalInt']添加到$jsonDecode的末尾,基本上是从变量或整数中添加数据到$jsonDecode的末尾
-
哦,我为此使用了 $initialCode,因为这是数据提取所必需的。然后我尝试添加到其中包含 json_decode 的 $initialCode。
-
这比你想象的要简单得多。只需使用
foreach($initialCode as $flight) {$flightnumber = $flight['ident']; echo $flightnumber;}