QS1. Ниже приводятся результаты из одного массива (полученного из WEBSERVICE CALL с использованием SOAP). У меня есть путаница в доступе к элементам из массива. Как видно из результатов, иногда результаты появляются как ARRAY (во втором результате), где иногда результаты выводятся без индекса массива (первые результаты). SO как я могу использовать лучший метод для отображения элементов, таких как array ["AirportCode"] для получения точных результатов и отображения вывода TO пользователю.
*********************
RESULTS SET-1
********************
Array
(
[SegmentIndicator] => 1
[Airline] => Array
(
[AirlineCode] => SG
[AirlineName] => SpiceJet
[AirLineRemarks] => SG Star Coupon
)
[FlightNumber] => 894
[FareClass] => K
[Origin] => Array
(
[AirportCode] => GAU
[AirportName] => Borjhar
[Terminal] =>
[CityCode] => GAU
[CityName] => Guwahati
[CountryCode] => IN
[CountryName] => India
)
[Destination] => Array
(
[AirportCode] => DEL
[AirportName] => Indira Gandhi Airport
[Terminal] => 1C
[CityCode] => DEL
[CityName] => Delhi
[CountryCode] => IN
[CountryName] => India
)
[DepTIme] => 2014-12-26T11:05:00
[ArrTime] => 2014-12-26T14:00:00
[ETicketEligible] => 1
[Duration] => 02:55
[Stop] => 0
[Craft] => 738
[Status] => Confirmed
[OperatingCarrier] => SG
)
*****************************************
RESULTS SET-2
****************************************
Array
(
[0] => Array
(
[SegmentIndicator] => 1
[Airline] => Array
(
[AirlineCode] => AI
[AirlineName] => Air India
[AirLineRemarks] => This JetAirways series are operated by JetLite
)
[FlightNumber] => 401
[FareClass] => Y
[Origin] => Array
(
[AirportCode] => DEL
[AirportName] => Indira Gandhi Airport
[Terminal] => 3
[CityCode] => DEL
[CityName] => Delhi
[CountryCode] => IN
[CountryName] => India
)
[Destination] => Array
(
[AirportCode] => CCU
[AirportName] => Calcutta
[Terminal] => 2
[CityCode] => CCU
[CityName] => Kolkata
[CountryCode] => IN
[CountryName] => India
)
[DepTIme] => 2014-12-31T07:00:00
[ArrTime] => 2014-12-31T09:05:00
[ETicketEligible] => 1
[Duration] => 00:00
[Stop] => 0
[Craft] => 321
[Status] => Confirmed
[OperatingCarrier] => AI
)
[1] => Array
(
[SegmentIndicator] => 1
[Airline] => Array
(
[AirlineCode] => 9W
[AirlineName] => Jet Airways
[AirLineRemarks] => This JetAirways series are operated by JetLite
)
[FlightNumber] => 2363
[FareClass] => H
[Origin] => Array
(
[AirportCode] => CCU
[AirportName] => Calcutta
[Terminal] =>
[CityCode] => CCU
[CityName] => Kolkata
[CountryCode] => IN
[CountryName] => India
)
[Destination] => Array
(
[AirportCode] => GAU
[AirportName] => Borjhar
[Terminal] =>
[CityCode] => GAU
[CityName] => Guwahati
[CountryCode] => IN
[CountryName] => India
)
[DepTIme] => 2014-12-31T10:45:00
[ArrTime] => 2014-12-31T11:55:00
[ETicketEligible] => 1
[Duration] => 00:00
[Stop] => 0
[Craft] => 738
[Status] => Confirmed
[OperatingCarrier] => 9W
)
Я напишу цикл, который будет работать в обоих случаях. Я покажу только один var → AirportCode <-
во-первых, у меня будет var, называемый myArray с массивом.
$myArray = .... // Do what you need to populate it.
А теперь сделай себе кусочек.
for ($i = 0; $i < count($myArray); $i++){
if(isset($myArray[$i]['AirportCode'])){
print $myArray[$i]['AirportCode'];
}
}
Однако вам нужно проверить этот код.