我真的应该优化我的正则表达式,但现在任何人都可以帮助...
((2,3,4,11,8),(5,44,67,78,32,22,111,234))
Run Code Online (Sandbox Code Playgroud)
如您所见,每个数字范围都以逗号分隔,在此示例中,有两个数字范围.
在实际场景中,可能有许多数字和少数范围.
所以...我如何将这样的东西提取到php嵌套数组或类似的东西?
任何帮助表示感谢
explode()
明智地使用并按照以下方式执行:
$ranges = '((2,3,4,11,8),(5,44,67,78,32,22,111,234))';
//break into groups
$array = explode('),(', $ranges);
//trim any parenthesis left and then split by comma ,
foreach($array as &$group)
$group = explode(',',trim($group, '()'));
//display result
var_dump($array);
Run Code Online (Sandbox Code Playgroud)
这输出:
array
0 =>
array
0 => string '2' (length=1)
1 => string '3' (length=1)
2 => string '4' (length=1)
3 => string '11' (length=2)
4 => string '8' (length=1)
1 => &
array
0 => string '5' (length=1)
1 => string '44' (length=2)
2 => string '67' (length=2)
3 => string '78' (length=2)
4 => string '32' (length=2)
5 => string '22' (length=2)
6 => string '111' (length=3)
7 => string '234' (length=3)
Run Code Online (Sandbox Code Playgroud)