我收到一个数组,其中包含来自android的PHP Lat/Long字符串,如下所示:
$array = array(
"parametros1" =>"lat/lng: (-33.36808,-70.74779)",
"parametros2" =>"lat/lng: (-33.36826,-70.74685)",
"parametros3" =>"lat/lng: (-33.36867,-70.745)",
"parametros4" =>"lat/lng: (-33.36875,-70.74462)",
"parametros5" =>"lat/lng: (-33.36879,-70.74436)",
"parametros6" =>"lat/lng: (-33.36882,-70.74415)",
"parametros7" =>"lat/lng: (-33.36888,-70.74387)",
"parametros8" =>"lat/lng: (-33.36905,-70.74364)",
"parametros9" =>"lat/lng: (-33.3691,-70.74347)",
"parametros10"=>"lat/lng: (-33.36948,-70.7417)"
);
我想将Lat/lng的值存储在两个数组中,如何分别获取这些值?
抱歉我英语不好,谢谢
这会变得有点复杂,这是因为需要一些数据处理。
$lat = array();
$lon = array();
foreach($array as $k => $v){
$v = str_replace('lat/lng: (','',$v);
$v = str_replace(')','',$v);
$v = explode(',', $v);
$lat[] = $v[0];
$lon[] = $v[1];
}
print_r($lat);
print_r($lon);
使用list
将preg_replace
->$latLng
上的explode
的结果映射到2个数组。
foreach($array as $key => $latLng){
list($arrayLat[],$arrayLng[]) = explode(",", preg_replace('/[^-'d.,]/', '', $latLng));
}
Ideone Demo 2