Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于坐标数组的PHP正则表达式(或更好的替代方法)_Php_Regex - Fatal编程技术网

用于坐标数组的PHP正则表达式(或更好的替代方法)

用于坐标数组的PHP正则表达式(或更好的替代方法),php,regex,Php,Regex,我有一个查询字符串中的坐标数组,如下所示: [[50.864750,-1.230874],[50.870490,-1.224007]] 我已经尝试了很多次,但未能创建一个正则表达式,该表达式将拆分我需要它的方式。下面是正则表达式生成后我需要这两个坐标的格式: $coordinateSet[0] = "50.864750 -1.230874"; $coordinateSet[1] = "50.870490 -1.224007"; 正则表达式是最好的解决方案还是有更好的替代方案?由于您的输入格式

我有一个查询字符串中的坐标数组,如下所示:

[[50.864750,-1.230874],[50.870490,-1.224007]]
我已经尝试了很多次,但未能创建一个正则表达式,该表达式将拆分我需要它的方式。下面是正则表达式生成后我需要这两个坐标的格式:

$coordinateSet[0] = "50.864750 -1.230874";
$coordinateSet[1] = "50.870490 -1.224007";

正则表达式是最好的解决方案还是有更好的替代方案?

由于您的输入格式看起来可以解释为JSON,我建议使用正则表达式,而不是正则表达式(因为正则表达式往往是阅读和维护的一个头痛问题)

json\u decode()
在您提到的字符串上,将为您提供:

array(
   array(
       50.864750,
       -1.230874,
   ),
   array(
       50.870490,
       -1.224007,
   ),
)
(对于错误处理,您可能希望确保
json_decode()
没有返回
null
——这表示输入格式中存在语法错误。)


然后,如果您的输出格式是特定的,您可以使用带有函数(匿名或其他)的,以获得您需要的确切结果。

@flec这将如何帮助任何人回答这个问题?还是仅仅为了证明你没有做我的家庭作业?@jskidd3这就是这个网站的工作原理。你展示了你失败的地方,人们帮助你改正。不是你说你需要什么,人们为你做什么……因为这不是你要问的,我把它作为一个评论:你可以在这种格式上使用
json\u decode()
,而不是使用正则表达式(这往往很难阅读和维护);然后是一个
array\u map()
和一个
内爆(“”,…)
函数(匿名或其他)来获得你需要的确切结果。@pinkgothic这听起来是一个更好的解决方案,如果我把问题改得不那么具体,你能把它作为一个答案吗?很高兴。:)给我抽搐一下。