首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中将字符串转换为二维数组

问在php中将字符串转换为二维数组
EN

Stack Overflow用户
提问于 2020-09-10 15:51:59
回答 1查看 40关注 0票数 0

我只想问一下如何在php中将字符串转换为二维数组。请参考我下面的示例代码。

代码语言:javascript
复制
$coordinates = "9.499819 123.920318,9.490845 123.916563,9.484644 123.922292,9.49148 123.931519,9.499755 123.925683,9.499819 123.920318";

我想把上面的字符串转换成下面的数组,并把它赋值给变量。

代码语言:javascript
复制
$polygon = array(array('lat' => 9.499819,'lng'=>123.920318),
               array('lat' => 9.490845,'lng'=>123.916563),
              array('lat' => 9.484644,'lng'=>123.922292),
               array('lat' => 9.49148,'lng'=>123.931519),
              array('lat' => 9.499755,'lng'=>123.925683),
                array('lat' => 9.499819,'lng'=>123.920318)
              );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-10 19:02:50

对于一个新的贡献者,在我看来,使用foreach的解决方案更容易理解。这些步骤在代码中进行了注释。

代码语言:javascript
复制
$coordinates = "9.499819 123.920318,9.490845 123.916563,9.484644 123.922292,9.49148 123.931519,9.499755 123.925683,9.499819 123.920318";

$polygon = explode(',',$coordinates);
/*
array (
  0 => "9.499819 123.920318",
  1 => "9.490845 123.916563",
*/

foreach($polygon as $index => $latLng){
  //The element $latLng is split into two variables with list and explode.
  list($lat,$lng) = explode(' ',$latLng);

  //The elements are replaced by a new array with the variables $lat and $lng as float
  $polygon[$index] = ['lat' => (float)$lat, 'lng' => (float)$lng];
}

//test output
echo '<pre>';
var_export($polygon);

输出:

代码语言:javascript
复制
array (
  0 => 
  array (
    'lat' => 9.499819,
    'lng' => 123.920318,
  ),
  1 => 
  array (
    'lat' => 9.490845,
    'lng' => 123.916563,
  ),
  2 => 
  array (
    'lat' => 9.484644,
    'lng' => 123.922292,
  ),
  3 => 
  array (
    'lat' => 9.49148,
    'lng' => 123.931519,
  ),
  4 => 
  array (
    'lat' => 9.499755,
    'lng' => 123.925683,
  ),
  5 => 
  array (
    'lat' => 9.499819,
    'lng' => 123.920318,
  ),
) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63825178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档