我有一个格式数组
array(
[0]=>x_4556v_7889;
[1]=>y_9908;
[2]=>f_5643u_7865;
)
我需要输出
array(
[0]=> ([0] =>4556;
[1] =>7889;
)
[1]=>( [0]=>9908;)
[2] =>([0] =>5643;
[1]=>7865;
)
)
如何使用strpos并找出字符串中出现“_”(下划线)并获取for循环中的后四个字符。 我只获得了接下来四位数字的前四位数代码。没有得到一些逻辑。
答案 0 :(得分:1)
您似乎正在尝试查找所有号码。在这种情况下,请考虑尝试:
$output = array_map(function($item) {
preg_match_all("/\d+/",$item,$m);
return $m[0];
},$input);
应该可以正常工作:)
答案 1 :(得分:0)
$arr = array(
0=>'x_4556v_7889;',
1=>'y_9908;',
2=>'f_5643u_7865;'
);
$lettersarr = range('a','z');
array_unshift($lettersarr,'_');
array_unshift($lettersarr,';');
$new_arr=array_map(function ($v) use($lettersarr) {
return explode('@',wordwrap(str_replace($lettersarr,'',$v), 4, "@", true)); },$arr);
print_r($new_arr);