你好,我正在使用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的变量对于所有提要文章都是相同的。每篇文章将有一个独特的$lat和$lng,所以我知道我在这里做错了什么。再次感谢,
问题就在这里:
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
}