利用PHP解析IATA航班计划SSIM文件
随风飘扬 学习 2020年09月26日13:38 1453
今天接到需求要对SSIM文件进行解析,于是根据IATA提供的SSIM文件标准使用PHP的sscanf函数进行解析。
今天接到需求要对SSIM文件进行解析,于是根据IATA提供的SSIM文件标准使用PHP的sscanf函数进行解析。
虎xlgzg泰__克ujrpt新wbew闻sxnyv网pfsft版权所有,请勿未授权转载!!!
<?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; } ?>
Oświadczenie: wszystkie artykuły / rysunki zamieszczone na tej stronie mają na celu przekazywanie więcej informacji i ułatwienie dyskusji, co nie oznacza, że strona internetowa, gospodarz i organizator zgadzają się z ich opiniami lub potwierdzają autentyczność ich treści. Zawartość tych artykułów jest tylko do odwołania. W przypadku naruszenia praw pierwotnego autora prosimy o kontakt z administratorem strony internetowej.
Lista komentarzy
-
Brak danych