gpt4 book ai didi

php - 如何在 PHP 中访问嵌套标准对象数组中的数据

转载 作者:搜寻专家 更新时间:2023-10-31 22:05:04 24 4
gpt4 key购买 nike

我需要访问数据:“hotelID”、“name”、“address1”、“city”等。我在 PHP 中有以下 Std 对象数组 ($the_obj),其中包含以下数据:

object(stdClass)[1]
public 'HotelListResponse' =>
object(stdClass)[2]
public 'customerSessionId' => string '0ABAAA87-6BDD-6F91-4292-7F90AF49146E' (length=36)
public 'numberOfRoomsRequested' => int 0
public 'moreResultsAvailable' => boolean false
public 'HotelList' =>
object(stdClass)[3]
public '@size' => string '227' (length=3)
public '@activePropertyCount' => string '227' (length=3)
public 'HotelSummary' =>
array (size=227)
0 =>
object(stdClass)[4]
public 'hotelId' => 112304
public 'name' => La Quinta Inn and Suites Seattle Downtown
public 'address1' => 2224 8th Ave
public 'city' => Seattle
public 'stateProvinceCode' => WA
public 'postalCode' => 98121
public 'countryCode' => US
public 'airportCode' => SEA
public 'propertyCategory' => 1
public 'hotelRating' => 2.5

我已经尝试了以下方法来访问“名称”:

echo $the_obj->HotelListResponse->HotelList->HotelSummary[0]->name;

我还尝试使用 foreach 循环打印每个键和值对,但我不断收到错误。这是我尝试过的:

foreach ($the_obj->HotelListResponse->HotelList->HotelSummary[0] as $key => $value){
echo $key.' : '.$value.'<br />';
}

这是我得到的错误:

  • 尝试获取非对象的属性
  • 警告:为 foreach() 提供的参数无效

最佳答案

谢谢大家的回答,我已经找到了访问数组最深处的'hotelID','name'和所有其他键值对的方法。

我将标准对象数组转换为关联数组,然后使用 foreach 循环访问每个值:

foreach ($the_obj["HotelListResponse"]["HotelList"]["HotelSummary"] as $value){
echo $value["hotelId"];
echo $value["name"];

//and all other values can be accessed
}

同时访问(键和值):

foreach ($the_obj["HotelListResponse"]["HotelList"]["HotelSummary"] as $key=>$value){
echo $key.'=>'.$value["hotelId"];
echo $key.'=>'.$value["name"];

//and all other keys as well as values can be accessed
}

关于php - 如何在 PHP 中访问嵌套标准对象数组中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20235189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com