我有一个如下所示的数组:
$numbers = array("332467323232", "750327430375", "332503248632", ...);
我想获得数字 32 (或任何其他数字)在我的数组中的每个字符串中显示的次数。
示例:
$times = array(4, 1, 3, ...);
答案 0 :(得分:4)
正确答案:
$times=array_map(function($str) { return substr_count($str, "32"); }, $numbers);
初步回答(错误,误读了这个问题,对不起!):
这是一个不使用正则表达式的单行:
echo array_sum(array_map(
function($str) { return substr_count($str, "32"); },
$numbers));
答案 1 :(得分:1)
您可能不需要正则表达式,例如:
$numbers = array(
32323232, # 4
12233232, # 2
12314232, # 1
12349085, # 0
);
$result = array();
foreach($numbers as $num){
$result[] = substr_count("$num", '32');
}
print_r($result);
// Array
// (
// [0] => 4
// [1] => 2
// [2] => 1
// [3] => 0
// )
这应该做你想要的。 substr_count on php.net