2012-05-10 171 views
5

Possible Duplicate:
PHP split alternative?斯普利特()已过时

// Successful geocode 
$geocode_pending = false; 
$coordinates = $xml->Response->Placemark->Point->coordinates; 
$coordinatesSplit = split(",", $coordinates); 
// Format: Longitude, Latitude, Altitude 
$lat = $coordinatesSplit[1]; 
$lng = $coordinatesSplit[0]; 

你好的人,这是我的地理位置代码的一部分。我尝试将存储的地址更改为纬度/经度,并将经纬度保存在数据库中。 他们使用split函数将一个字符串放入一个数组中,但自从PHP 5.3.0以来,该函数已被弃用。 任何人都有这个解决方案?

谢谢

编辑:

当我使用这个

$coordinatesSplit = preg_split(",", $coordinates); 

我收到以下错误

preg_split() [function.preg-split]: No ending delimiter

最后的编辑 当我添加一些东西到databa se,长/晚被自动保存到。但是当我想添加例如数据库中的第六个地址时,生成纬度/经度的脚本将自动对数据库中的所有记录执行此操作。只有在最后添加的时候才有可能做到这一点吗? ---->Geolocation LONG/LAN in database

+0

@felix KlingThanks,对不起,这是我的错。打扰一下。现在我得到这个错误:preg_split()[function.preg-split]:无结尾分隔符 – Niels

+0

'“,”'不是正则表达式,因此不需要使用'preg_split'。改用'爆炸'。如果你想使用一个正则表达式,我建议看看http://www.php.net/manual/en/reference.pcre.pattern.syntax.php,以便首先熟悉语法。 –

+0

感谢您的快速回答。当我使用这一个时,$ coordinatesSplit = explode(“,”,$ coordinates);地理定位失败.EDIT,一切都用爆炸函数解决,但我有另一个问题 – Niels

回答

13

你可以得到简单的代码:

list($lat,$lng) = explode(",",$coordinates); 

这直接的explode结果分配到两个变量为你。

+0

这将需要升级到PHP7后 –

4

正如在评论中讨论的那样,使用explode()代替:

$coordinatesSplit = explode(",", $coordinates);