이 배열 함수에서 우리는 호텔 세부 정보를 얻고 싶습니다. 값을 얻으려면 다음 코드를 사용했습니다. 그 코드에서 나는 적절한 결과를 얻지 못한다; 일부 호텔은 가격을 표시하지 않습니다. 출력도 제공했습니다.다차원 배열은 각 PHP를 사용하여 값을 얻습니다
Array
(
[TestMode] => true
[HotelAvailability] => Array
(
[0] => Array
(
[Hotel] => Array
(
[Id] => 87649
[Name] => Asmali
[Region] => Array
(
[Id] => 21303
[Name] => Old City
)
[Type] => Hotel
[Stars] => 3
[Rank] => 1
)
[Result] => Array
(
[0] => Array
(
[QuoteId] => 12297840-763
[Room] => Array
(
[RoomType] => Array
(
[Code] => 1103598
[Text] => Double Economy
)
[MealType] => Array
(
[Code] => 1000018
[Text] => Bed and breakfast
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2094.87
[Estimated] => false
[Converted] => false
)
[Guests] => Array
(
[Adult] => Array
(
[0] => Array
(
[Id] => -452103032
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 1047.44
[Estimated] => false
[Converted] => false
)
)
[1] => Array
(
[Id] => -452103033
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 1047.43
[Estimated] => false
[Converted] => false
)
)
)
)
[Confirmation] => allocation
)
)
[1] => Array
(
[QuoteId] => 12297840-764
[Room] => Array
(
[RoomType] => Array
(
[Code] => 1002196
[Text] => Double Standard
)
[MealType] => Array
(
[Code] => 1000018
[Text] => Bed and breakfast
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2993.22
[Estimated] => false
[Converted] => false
)
[Guests] => Array
(
[Adult] => Array
(
[0] => Array
(
[Id] => -452103034
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 1496.61
[Estimated] => false
[Converted] => false
)
)
[1] => Array
(
[Id] => -452103035
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 1496.61
[Estimated] => false
[Converted] => false
)
)
)
)
[Confirmation] => allocation
)
)
[2] => Array
(
[QuoteId] => 12297840-765
[Room] => Array
(
[RoomType] => Array
(
[Code] => 1002210
[Text] => Double Deluxe
)
[MealType] => Array
(
[Code] => 1000018
[Text] => Bed and breakfast
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 4190.37
[Estimated] => false
[Converted] => false
)
[Guests] => Array
(
[Adult] => Array
(
[0] => Array
(
[Id] => -452103036
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2095.18
[Estimated] => false
[Converted] => false
)
)
[1] => Array
(
[Id] => -452103037
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2095.19
[Estimated] => false
[Converted] => false
)
)
)
)
[Confirmation] => allocation
)
)
[3] => Array
(
[QuoteId] => 12297840-329
[Room] => Array
(
[RoomType] => Array
(
[Code] => 1286415
[Text] => Twin (Standard Twin)
)
[MealType] => Array
(
[Code] => 1000030
[Text] => Full Breakfast
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 5384.70
[Estimated] => false
[Converted] => false
)
[Guests] => Array
(
[Adult] => Array
(
[0] => Array
(
[Id] => -113025469
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2692.35
[Estimated] => false
[Converted] => false
)
)
[1] => Array
(
[Id] => -113025470
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2692.35
[Estimated] => false
[Converted] => false
)
)
)
)
[Confirmation] => allocation
)
)
[4] => Array
(
[QuoteId] => 12297840-348
[Room] => Array
(
[RoomType] => Array
(
[Code] => 1832194
[Text] => Double (Standard Twin)
)
[MealType] => Array
(
[Code] => 1000030
[Text] => Full Breakfast
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 5384.70
[Estimated] => false
[Converted] => false
)
[Guests] => Array
(
[Adult] => Array
(
[0] => Array
(
[Id] => -113025507
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2692.35
[Estimated] => false
[Converted] => false
)
)
[1] => Array
(
[Id] => -113025508
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2692.35
[Estimated] => false
[Converted] => false
)
)
)
)
[Confirmation] => allocation
)
)
)
)
[1] => Array
(
[Hotel] => Array
(
[Id] => 1712021
[Name] => May Hotel
[Region] => Array
(
[Id] => 21303
[Name] => Old City
)
[Type] => Hotel
[Stars] => 4
[Rank] => 1
)
[Result] => Array
(
[QuoteId] => 12297840-899
[Room] => Array
(
[RoomType] => Array
(
[Code] => 1002196
[Text] => Double Standard
)
[MealType] => Array
(
[Code] => 1000018
[Text] => Bed and breakfast
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 2217.18
[Estimated] => false
[Converted] => false
)
[Guests] => Array
(
[Adult] => Array
(
[0] => Array
(
[Id] => -452103440
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 1108.59
[Estimated] => false
[Converted] => false
)
)
[1] => Array
(
[Id] => -452103441
[Forename] => Array
(
)
[Surname] => Array
(
)
[SellingPrice] => Array
(
[Currency] => INR
[Amount] => 1108.59
[Estimated] => false
[Converted] => false
)
)
)
)
[Confirmation] => allocation
)
)
)
출력 :
87649 - Asmali: Old City 3
1712021 - May Hotel: Old City 4 INR 2217.18
내 코드 : 당신 CANN 당신이 사용할 수있는 첫 번째 항목에 관한 세부 사항을해야하는 경우 Result
둘 이상의 부분 배열을 참조로
foreach($array_data['HotelAvailability'] as $hotel) {
$id = $hotel['Hotel']['Id'];
$name = $hotel['Hotel']['Name'];
$region = $hotel['Hotel']['Region']['Name'];
$stars = $hotel['Hotel']['Stars'];
$price = $hotel['Result']['Room']['SellingPrice']['Currency'] . ' ' . $hotel['Result']['Room']['SellingPrice']['Amount'] ;
echo "$id - $name: $region $stars $price<br>\n";
}
를 가져 내가이 코드를 사용하는 경우, 내가 오류 받고 있어요 - 치명적인 오류 : 배열로 오프셋 (offset) 문자열을 사용할 수 없습니다. 여러 가격 호텔이 표시되지만 하나의 객실 유형 만 표시되는 경우 가격 오류가 표시됩니다. 이 문제를 해결하십시오 – Abiram
내 두 번째 솔루션을 사용해 보셨습니까? 첫 번째 루프 안에 배치해야합니다. – Fabio
두 번째 옵션 만 시도합니다. 하지만 출력을 얻을. 이 출력에는 여러 가격 호텔이 표시됩니다. 단일 가격 호텔이 표시되지 않고 오류가 발생합니다. - 치명적 오류 : 배열로 문자열 오프셋을 사용할 수 없습니다. – Abiram