2012-05-10 31 views
5

Possible Duplicate:
PHP split alternative?Split() bị phản đối

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

Xin chào dân, đây là một phần của mã định vị của tôi. Tôi cố gắng thay đổi một địa chỉ được lưu trữ thành một lat/long và lưu lại lat/long back trong cơ sở dữ liệu. Chúng sử dụng chức năng tách để đặt một chuỗi trong một mảng nhưng kể từ khi php 5.3.0 chức năng không được chấp nhận. Bất cứ ai cũng có một giải pháp cho điều này?

Cảm ơn bạn

EDIT:

Khi tôi sử dụng này

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

tôi nhận được lỗi sau

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

chỉnh sửa LAST Khi tôi thêm vài thứ vào databa se, dài/trễ được tự động lưu vào. Nhưng khi tôi muốn thêm ví dụ địa chỉ thứ 6 trong cơ sở dữ liệu, tập lệnh để tạo lat/long sẽ tự động thực hiện việc này trên tất cả các bản ghi trong cơ sở dữ liệu. Có bất kỳ posibility để làm điều này chỉ ở cuối được thêm vào? ---->Geolocation LONG/LAN in database

+0

@felix KlingThanks, Xin lỗi, đó là lỗi của tôi. Xin lỗi. bây giờ tôi nhận được lỗi này: preg_split() [function.preg-split]: Không có dấu phân cách kết thúc – Niels

+0

'", "' không phải là cụm từ thông dụng, do đó không cần sử dụng 'preg_split'. Sử dụng 'explode' để thay thế. Nếu bạn muốn sử dụng cụm từ thông dụng, tôi khuyên bạn nên xem http://www.php.net/manual/en/reference.pcre.pattern.syntax.php để làm quen với cú pháp đầu tiên. –

+0

Cảm ơn bạn đã có câu trả lời nhanh. Khi tôi sử dụng cái này, $ coordinateSplit = phát nổ (",", $ tọa độ) ;, vị trí địa lý bị lỗi.EDIT, mọi thứ được giải quyết với chức năng phát nhưng tôi có một câu hỏi khác – Niels

Trả lời

13

Bạn có thể nhận được mã đơn giản hơn với:

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

này trực tiếp giao kết quả của explode vào hai biến cho bạn.

+0

Điều này sẽ được yêu cầu sau khi nâng cấp lên PHP7 –

4

Như đã thảo luận trong các ý kiến, sử dụng explode() thay vì:

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