我无法解析我在pastebin http://pastebin.com/TmZGw92j
发布的数据集我可以直接进入路线,但由于某种原因不能再进一步。以下是我设置的变种:
$airTicketListResponse = $result->body->airTicketListResponse;
$routings = $airTicketListResponse->routings;
$trips = $routings->trips;
$segments = $trips->segments;
我可以print_r($ routings)但是当我尝试print_r($ segments)时我没有得到任何回复。我想从路线和路段中提取物品。
这是我目前的foreach循环,在旅途中匆匆而过。
foreach($routings as $item){
echo '<span style="font-weight:bold;">Airline - '.$item->mainAirlineName.' Price - '.$item->adultBasePrice.'</span><br />'.$item->trips->segments->departureAirportCode.' '.$item->trips->segments->departureTime.'<br /><br />';
}
答案 0 :(得分:2)
trips
和segments
元素是对象数组,而不是单个对象。
所以你需要引用数组元素[0]
结构的哪一部分。
$trips = $routings[0]->trips;
$segments = $trips[0]->segments;
请注意,似乎有两次旅行,如果您想要所有细分,还需要$trips[1]->segments
。
更有可能的是,您将希望使用foreach()
循环来读取它们,而不是直接引用数组键。
这样的东西?
foreach($routings as $routing) {
$trips = $routing->trips;
.... do something here with $trips? ....
foreach($trips as $trip) {
$segments = $trip->segments;
.... do something here with $segments? ....
}
}
答案 1 :(得分:0)
你有几层嵌套的数组。我认为你的代码需要改为:
$trips = $routings[0]->trips;
$segments = $trips[0]->segments;