2014-02-18 3 views
0

Это мой код ..... мне нужна выход hotel name, id, selling price и т.д. значения массива будет цикл, потому что я получить результат в массовом порядке.Как получить Многомерное значение массива в цикле Еогеаспа с помощью PHP

Array 
(
    [TestMode] => true 
    [HotelAvailability] => Array 
     (
      [0] => Array 
       (
        [Hotel] => Array 
         (
          [Id] => 3027405 
          [Name] => Royal Plaza 
          [Region] => Array 
           (
            [Id] => 16849 
            [Name] => Chennai (Madras) 
           ) 

          [Type] => Hotel 
          [Stars] => 3 
          [Rank] => 1 
         ) 

        [Result] => Array 
         (
          [QuoteId] => 12249136-10 
          [Room] => Array 
           (
            [RoomType] => Array 
             (
              [Code] => 1002196 
              [Text] => Double Standard 
             ) 

            [MealType] => Array 
             (
              [Code] => 1000018 
              [Text] => Bed and breakfast 
             ) 

            [SellingPrice] => Array 
             (
              [Currency] => INR 
              [Amount] => 1824.26 
              [Estimated] => false 
              [Converted] => false 
             ) 

            [Guests] => Array 
             (
              [Adult] => Array 
               (
                [0] => Array 
                 (
                  [Id] => -252645204 
                  [Forename] => Array 
                   (
                   ) 

                  [Surname] => Array 
                   (
                   ) 

                  [SellingPrice] => Array 
                   (
                    [Currency] => INR 
                    [Amount] => 912.13 
                    [Estimated] => false 
                    [Converted] => false 
                   ) 

                 ) 

                [1] => Array 
                 (
                  [Id] => -252645205 
                  [Forename] => Array 
                   (
                   ) 

                  [Surname] => Array 
                   (
                   ) 

                  [SellingPrice] => Array 
                   (
                    [Currency] => INR 
                    [Amount] => 912.13 
                    [Estimated] => false 
                    [Converted] => false 
                   ) 

                 ) 

               ) 

             ) 

            [Confirmation] => allocation 
           ) 

         ) 

       ) 

      [1] => Array 
       (
        [Hotel] => Array 
         (
          [Id] => 2118726 
          [Name] => Days Inn Deccan Plaza 
          [Region] => Array 
           (
            [Id] => 16849 
            [Name] => Chennai (Madras) 
           ) 

          [Type] => Hotel 
          [Stars] => 3 
          [Rank] => 1 
         ) 

        [Result] => Array 
         (
          [QuoteId] => 12249136-36 
          [Room] => Array 
           (
            [RoomType] => Array 
             (
              [Code] => 1002196 
              [Text] => Double Standard 
             ) 

            [MealType] => Array 
             (
              [Code] => 1000018 
              [Text] => Bed and breakfast 
             ) 

            [SellingPrice] => Array 
             (
              [Currency] => INR 
              [Amount] => 3192.90 
              [Estimated] => false 
              [Converted] => false 
             ) 

            [Guests] => Array 
             (
              [Adult] => Array 
               (
                [0] => Array 
                 (
                  [Id] => -252645292 
                  [Forename] => Array 
                   (
                   ) 

                  [Surname] => Array 
                   (
                   ) 

                  [SellingPrice] => Array 
                   (
                    [Currency] => INR 
                    [Amount] => 1596.45 
                    [Estimated] => false 
                    [Converted] => false 
                   ) 

                 ) 

                [1] => Array 
                 (
                  [Id] => -252645293 
                  [Forename] => Array 
                   (
                   ) 

                  [Surname] => Array 
                   (
                   ) 

                  [SellingPrice] => Array 
                   (
                    [Currency] => INR 
                    [Amount] => 1596.45 
                    [Estimated] => false 
                    [Converted] => false 
                   ) 

                 ) 

               ) 

             ) 

            [Confirmation] => allocation 
           ) 

         ) 

       ) 

      [2] => Array 
       (
        [Hotel] => Array 
         (
          [Id] => 723729 
          [Name] => Green Park 
          [Region] => Array 
           (
            [Id] => 16849 
            [Name] => Chennai (Madras) 
           ) 

          [Type] => Hotel 
          [Stars] => 4 
          [Rank] => 1 
         ) 

        [Result] => Array 
         (
          [0] => Array 
           (
            [QuoteId] => 12249136-33 
            [Room] => Array 
             (
              [RoomType] => Array 
               (
                [Code] => 1004527 
                [Text] => Double Or Twin Deluxe 
               ) 

              [MealType] => Array 
               (
                [Code] => 1000018 
                [Text] => Bed and breakfast 
               ) 

              [SellingPrice] => Array 
               (
                [Currency] => INR 
                [Amount] => 3273.82 
                [Estimated] => false 
                [Converted] => false 
               ) 

              [Guests] => Array 
               (
                [Adult] => Array 
                 (
                  [0] => Array 
                   (
                    [Id] => -252645286 
                    [Forename] => Array 
                     (
                     ) 

                    [Surname] => Array 
                     (
                     ) 

                    [SellingPrice] => Array 
                     (
                      [Currency] => INR 
                      [Amount] => 1636.91 
                      [Estimated] => false 
                      [Converted] => false 
                     ) 

                   ) 

                  [1] => Array 
                   (
                    [Id] => -252645287 
                    [Forename] => Array 
                     (
                     ) 

                    [Surname] => Array 
                     (
                     ) 

                    [SellingPrice] => Array 
                     (
                      [Currency] => INR 
                      [Amount] => 1636.91 
                      [Estimated] => false 
                      [Converted] => false 
                     ) 

                   ) 

                 ) 

               ) 

              [Confirmation] => allocation 
             ) 

           ) 

          [1] => Array 
           (
            [QuoteId] => 12249136-34 
            [Room] => Array 
             (
              [RoomType] => Array 
               (
                [Code] => 2062742 
                [Text] => Double or Twin BUSINESS-CLUB 
               ) 

              [MealType] => Array 
               (
                [Code] => 1000018 
                [Text] => Bed and breakfast 
               ) 

              [SellingPrice] => Array 
               (
                [Currency] => INR 
                [Amount] => 3863.18 
                [Estimated] => false 
                [Converted] => false 
               ) 

              [Guests] => Array 
               (
                [Adult] => Array 
                 (
                  [0] => Array 
                   (
                    [Id] => -252645288 
                    [Forename] => Array 
                     (
                     ) 

                    [Surname] => Array 
                     (
                     ) 

                    [SellingPrice] => Array 
                     (
                      [Currency] => INR 
                      [Amount] => 1931.59 
                      [Estimated] => false 
                      [Converted] => false 
                     ) 

                   ) 

                  [1] => Array 
                   (
                    [Id] => -252645289 
                    [Forename] => Array 
                     (
                     ) 

                    [Surname] => Array 
                     (
                     ) 

                    [SellingPrice] => Array 
                     (
                      [Currency] => INR 
                      [Amount] => 1931.59 
                      [Estimated] => false 
                      [Converted] => false 
                     ) 

                   ) 

                 ) 

               ) 

              [Confirmation] => allocation 
             ) 

           ) 

         ) 

       ) 
+2

Это ужасная структура массива, это похоже на то, что вы сбросили всю информацию в одну, не применяя к ней никакой логики. И, что ты пробовал до сих пор? –

+0

Что нужно для создания этой сложной структуры массива –

+1

Похоже на выход из API :) –

ответ

0
foreach($data['HotelAvailability'] AS $record) { 
    echo 'Id: '; echo $record['Hotel']['Id']; 
    echo '<br />'; 
    echo 'Name: '; echo $record['Hotel']['Name']; 
    echo '-------------'; echo '<br />'; 
} 
1

Если я правильно понял ваш вопрос, вы хотели бы извлечь отеле Id, Name и SellingPrice ключи от этого массива в цикле.

Если мы предполагаем, что выше массив хранится в переменной с именем $HotelData, и что структура массива в соответствии с вышеуказанным выходом в вашем вопросе, то следующий код позволит вам делать то, что вы хотите ...

foreach($HotelData['HotelAvailability'] as $hotel) { 
    $id = $hotel['Hotel']['Id']; 
    $name = $hotel['Hotel']['Name']; 
    $price = $hotel['Result']['Room']['SellingPrice']['Currency'] . ' ' . $hotel['Result']['Room']['SellingPrice']['Amount'] ; 

    echo "$id - $name: $price<br>\n"; 
} 

/* This should output something like 
* 
* 3027405 - Royal Plaza: INR 1824.26 
* 2118726 - Days Inn Deccan Plaza - INR 3192.90 
* ... 
*/ 
+0

Ah , Г-н Шериф! Я бы никогда не ожидал, что вы здесь, добро пожаловать :) * datibbaw * –

+0

Чем вы так много ...... – Abiram

+0

** Мне нужна еще одна информация. В этом номере комнаты у нас есть несколько типов комнат для некоторых из отель и тарифы также, как я получаю такие данные ... ** примеры название отеля - Trident – Abiram

Смежные вопросы