2012-05-10 159 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);