我从一个叫房子清单的api中提取价格。我对如何操纵“std类对象”中的各个条目感到困惑。 (它具有阵列的所有外观,但不是......)
我的问题是我如何有选择地访问std类对象中的数据并将其过滤掉,以便我只有一个由以下组成的数组:
纬度值, longditude-values和price-values
我的curl调用正在运行,我可以使用print_r转储数据。该数据如下所示:
stdClass Object
(
[result_count] => 199
[longitude] => -0.092534
[area_name] =>
[listing] => Array
(
[0] => stdClass Object
(
[image_caption] => Exterior Cgi.Jpg
[status] => for_sale
[num_floors] => 0
[listing_status] => sale
[num_bedrooms] => 3
[latitude] => 51.48961
[num_bathrooms] => 3
[post_town] => London
[outcode] => SE1
[last_published_date] => 2014-03-12 03:00:57
[county] => London
[price] => 5000000
[listing_id] => 32200697
)
[1] => stdClass Object
(
...
)
[2] => stdClass Object
(
...
)
我已经研究了如何使用以下方法打印单个值:
print $data->listing[0]->price;
但我无法查看所有数据的foreach语句:
//e.g.
foreach ($data->listing->item as $item){
print "<li>$item->title</li>\n";
}
//or
foreach($data->listing as $key => $val)
{
echo "Price: ".$key->price;
}
答案 0 :(得分:0)
使用$data->listing as $item
可以解决问题:
foreach($data->listing as $item)
{
echo "Price: ".$item->price;
}
要将SDTClass
个容器作为数组使用,您可以自由地将它们转换为数组:
$item = (array) $item ;
$item['price']; //Access its properties.