你好我正在使用NOAA浮标RSS feed来创建和插入Mysql中的变量。标签上有一个标签:
<georss:point>45.565 -34.123</georss:point>
我已经证明了这一点:
$xmlString = file_get_contents($feed_url);
$xmlString = str_replace('georss:point','point',$xmlString);
$xml = new SimpleXMLElement($xmlString);
$items = $xml->xpath('channel/item');
$closeItems = array(); foreach($items as $item)
{
$latlng = explode(' ',trim($item->point));
$lat = $latlng[0];
$lng = $latlng[1];
}
然而,我遇到的问题是,$ lat和$ lng的变量对于所有Feed文章都是相同的。每篇文章都有一个唯一的$ lat和$ lng,所以我知道我在这里做错了。再次感谢,
答案 0 :(得分:1)
问题在于:
foreach($items as $item)
{
$latlng = explode(' ',trim($item->point));
$lat = $latlng[0];
$lng = $latlng[1];
}
您为每条记录分配变量,但从不在循环内使用它们。假设循环后有更多代码,该代码将始终只接收为$lat
和$lng
分配的最后一个值。
要解决此问题,请将特定于记录的代码放在foreach()
循环中:
foreach($items as $item)
{
$latlng = explode(' ',trim($item->point));
$lat = $latlng[0];
$lng = $latlng[1];
// Do something with $lat and $lng here
}