尝试在下面的代码块末尾使用SimpleXML的addChild()
方法并打印Feed时,输出不是必需的结果。当使用字符串值进行测试时,addChild()
正确输出节点的名称和值,但是我不确定数组或其中的对象是否实际上在第一个{{1}的范围内}循环。
我想访问foreach
对象的'name'和'type'属性,并使用$nameType
将它们输出到我的主Feed。
addChild()
答案 0 :(得分:0)
不要忘记,$googleStoredXMLDataArray
是stdClass对象的索引数组。在数组中获取这些对象的值是使用如下索引完成的:
$googleStoredXMLDataArray[$index]->name;
$googleStoredXMLDataArray[$index]->type;
其中$index
介于0
和count($googleStoredXMLDataArray)-1
之间。我相信0
是最精确的命中,最后一个值是最不准确的。要获取最后一个值(最不准确),请使用:
$i = count( $googleStoredXMLDataArray ) - 1;
$property->addChild('proximityTo_name', $googleStoredXMLDataArray[$i]->name);
$property->addChild('proximityTo_type', $googleStoredXMLDataArray[$i]->type);
重写最后一部分应该是添加所有接近值的技巧:
foreach( $googleStoredXMLDataArray as $prox ) {
$property->addChild('proximityTo_name', $prox->name);
$property->addChild('proximityTo_type', $prox->type);
}
如果你想跳过XML解析,只是解析一个数据数组,你总是可以使用JSON:
$googleURL = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json'
. '?location='.$latitude.',' . $longitude
. '&radius=1000&types=train_station&key=my-google-key';
$googleObject = json_decode( file_get_contents($googleURL), true );