利用PHP解析IATA航班计划SSIM文件
随风飘扬 学习 2020年09月26日13:38 2964
今天接到需求要对SSIM文件进行解析,于是根据IATA提供的SSIM文件标准使用PHP的sscanf函数进行解析。
今天接到需求要对SSIM文件进行解析,于是根据IATA提供的SSIM文件标准使用PHP的sscanf函数进行解析。
虎vyaa泰eubc克j新v闻o网_p版权所有,请勿未授权转载!!!
<?php function parseSSIM() { $_ssim = file_get_contents('DEMBC.SSIM-MF.201013223500.txt'); $ssim = str_replace(' ', '*', $_ssim); $content = explode("\n3", $ssim); unset($_ssim, $ssim, $content[0]); foreach ($content as $flight) { $flightData = explode("\n", $flight); $rec = array(); sscanf('3' . $flightData[0], "%1s%1s%3s%4s%2s%2s%1s%7s%7s%7s%1s%3s%4s%4s%5s%2s%3s%4s%4s%5s%2s%3s%20s%5s%10s%9s%2s%6s%1s%3s%3s%3s%3s%4s%1s%1s%1s%1s%1s%11s%1s%11s%20s%2s", $rec['recordType'], $rec['operationalSuffix'], $rec['airline'], $rec['flightNumber'], $rec['itineraryVariation'], $rec['legSequenceNumber'], $rec['serviceType'], $rec['operationFrom'], $rec['operationTo'], $rec['operationDays'], $rec['frequencyRate'], $rec['departureStation'], $rec['passengerSTD'], $rec['STD'], $rec['deptureUTC'], $rec['departureTerminal'], $rec['arrivalStation'], $rec['STA'], $rec['passengerSTA'], $rec['arrivalUTC'], $rec['arrivalTerminal'], $rec['aircraftType'], $rec['PRBD'], $rec['PRBM'], $rec['mealSeviceNote'], $rec['jointOperationAirline'], $rec['MCT'], $rec['spare'], $rec['itineraryVariationOverflow'], $rec['aircraftOwner'], $rec['cockpitCrewEmployer'], $rec['cabinCrewEmployer'], $rec['airlineDesignator'], $rec['flightNumber2'], $rec['aircraftRotation'], $rec['operationalSuffix2'], $rec['spare2'], $rec['flightTransitLayover'], $rec['codeshare'], $rec['trafficRestrictionCode'], $rec['trafficRestrictionCodeLeg'], $rec['spare3'], $rec['aircraftConfiguration'], $rec['dateVariation']); $isCodeshare = false; foreach ($flightData as $info) { $type = array(); sscanf($info, "%1s%1s%3s%4s%2s%2s%1s%13s%1s%1s%1s%3s%3s%3s%155s", $type['recordType'], $type['operationalSuffix'], $type['airline'], $type['flightNumber'], $type['itineraryVariation'], $type['legSequenceNumber'], $type['serviceType'], $type['spare'], $type['itineraryVariationOverflow'], $type['boardPoint'], $type['offPoint'], $type['dataElement'], $type['departureStation'], $type['arrivalStation'], $type['data']); if ($type['dataElement'] === '010' || $type['dataElement'] === '050') { $isCodeshare = true; } $rec['info'][] = $type; } if ($isCodeshare) $data[] = $rec; unset($rec, $flightData); } unset($info, $flight, $content); return $data; } ?>
Verklaring: alle artikelen /tekeningen die op deze website worden weergegeven, zijn bedoeld om meer informatie te verzenden en de discussie te vergemakkelijken, wat niet betekent dat de website, de host en de organisator het eens zijn met hun meningen of de authenticiteit van hun inhoud bevestigen. De inhoud van de artikelen is alleen voor referentie. Indien de rechten van de oorspronkelijke auteur worden geschonden, neem dan contact op met de beheerder van de website.
Lijst van opmerkingen
-
Geen gegevens