Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php在foreach循环中获取多维数组值_Php_Arrays_Multidimensional Array - Fatal编程技术网

如何使用php在foreach循环中获取多维数组值

如何使用php在foreach循环中获取多维数组值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,这是我的代码。。。。。我需要输出酒店名称,id,售价等 数组值将是循环的,因为我以批量方式获得了结果 Array ( [TestMode] => true [HotelAvailability] => Array ( [0] => Array ( [Hotel] => Array (

这是我的代码。。。。。我需要输出
酒店名称
id
售价
等 数组值将是循环的,因为我以批量方式获得了结果

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
                                        )

                                )

                        )

                )
foreach($data['HotelAvailability']作为$record){
echo'Id:';echo$record['Hotel']['Id'];
回声“
”; echo'Name:';echo$record['Hotel']['Name']; 回音'-------------';回音'
'; }
如果我正确理解了您的问题,您希望在此数组中循环提取Hotel
Id
名称
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
*  ...
*/
foreach($HotelData['HotelAvailability']作为$hotel){
$id=$hotel['hotel']['id'];
$name=$hotel['hotel']['name'];
$price=$hotel['Result']['Room']['SellingPrice']['Currency'].'。$hotel['Result']['Room']['SellingPrice']['Amount'];
echo“$id-$name:$price
\n”; } /*这应该输出如下内容 * *3027405-皇家广场:1824.26卢比 *2118726-德干广场戴斯酒店-3192.90卢比 * ... */
这是一个可怕的数组结构,就像你将所有信息都转储到一个数组中,而没有对其应用任何逻辑。那么,到目前为止你都做了些什么呢?创建这种复杂的阵列结构需要什么呢?它看起来像是API的输出:)谢谢大家…+1,尽管它的结构非常复杂。:)啊,谢里夫先生!我从来没有想到你会在这里,欢迎:)datibbawThan你这么多……**我还需要一个信息-在这个结果房间类型中,我们为一些酒店提供了多种类型的房间和价格,以及我如何获得此类数据……**例如,酒店名称-TridentI不完全理解这个问题。该示例旨在演示如何着手解决所描述的问题。如果你有问题中没有描述的进一步要求,你必须明确地说明。嗨,谷歌家伙。在阵列中,我想获取房间类型和售价。在房间类型方面,一些酒店的房间类型很多,价格也不同。所以我需要各种各样的房间类型和取房率。示例检查“Days Inn Deccan Plaza”数组中的酒店名称
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
*  ...
*/