在PHP中需要一个用于动态MULTIDIMENSIONAL ARRAY显示的显示功能

时间:2014-12-10 08:28:18

标签: php soap

QS1。下面提到的结果来自一个数组(来自使用SOAP的WEBSERVICE CALL)。我对从数组中访问元素有些困惑。从结果中可以看出,某些时候结果是作为ARRAY(在第二个结果中),有时结果没有数组索引(第一个结果)。那么我怎样才能使用最好的方法来显示数组[" AirportCode"]等元素,以获得准确的结果并向用户显示输出。

*********************
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
)

1 个答案:

答案 0 :(得分:0)

我会写一个可以兼顾两种情况的循环。我只会显示一个var - > AirportCode< -

首先,我将有一个名为myArray的var与数组。

$myArray = .... // Do what you need to populate it.

现在让我们来说吧。

for ($i = 0; $i < count($myArray); $i++){
 if(isset($myArray[$i]['AirportCode'])){
  print  $myArray[$i]['AirportCode'];
}
}

然而,您需要测试此代码。