我有一个字符串$text_arr="101104105106109111112113114116117120122123124"
相当大的字符串
如果我想将101,104,105
中的三个数字分开,并将它们存储在$array
中。我该怎么办?
我试过这样做:
preg_match_all('/[0-9]{3}$/',"$text_arr",$array);
答案 0 :(得分:5)
最简单的方法是使用preg_split()
Docs:
$result = preg_split('/(\d{3})/', $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
See it working,或结果:
Array
(
[0] => 101
[1] => 104
[2] => 105
[3] => 106
[4] => 109
[5] => 111
[6] => 112
[7] => 113
[8] => 114
[9] => 116
[10] => 117
[11] => 120
[12] => 122
[13] => 123
[14] => 124
)
答案 1 :(得分:2)
虽然你 可以使用正则表达式,但可能更能使用简单的标准函数:
$groups = str_split($numbers, 3);//returns array you want
答案 2 :(得分:1)
答案 3 :(得分:1)
选择最简单的代码
<?php
$string = "101104105106109111112113114116117120122123124";
$parts = str_split($string, 3);
$res=implode(',',$parts);
echo($res);
?>