我在查询字符串的字符串中有一个坐标数组,如下所示:
[[50.864750,-1.230874],[50.870490,-1.224007]]
我已经多次尝试并且无法创建一个可以分割我需要它的正则表达式。下面是正则表达式后我需要这两个坐标的格式:
$coordinateSet[0] = "50.864750 -1.230874";
$coordinateSet[1] = "50.870490 -1.224007";
正则表达式是最佳解决方案还是有更好的替代方案?
答案 0 :(得分:2)
由于您的输入格式看起来可以解释为JSON,我建议使用json_decode()
而不是正则表达式(给定regexen往往是阅读和维护的头痛)。
json_decode()
会给你:
array(
array(
50.864750,
-1.230874,
),
array(
50.870490,
-1.224007,
),
)
(对于错误处理,您可能希望确保json_decode()
没有返回null
- 这表示输入格式中存在语法错误。)
然后,如果您的输出格式是特定的,您可以使用array_map()
implode(' ', ...)
函数(匿名或其他)来获得所需的确切结果。