计算多个字符php

时间:2012-06-04 08:21:01

标签: php mysql count

我正在尝试使用strlen或类似的东西来计算多组字符 在一个字符串中。 这是数据库字符串

xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc

我从数据库中获取字符串,我想计算

的数量

“xa”“xb”“xd”和字符串包含的“xe”。

我猜我可以首先计算xa然后xb然后xd然后xe计算strlen然后添加数字但不是更简单的方法吗?

请帮忙!

3 个答案:

答案 0 :(得分:2)

您对preg_match_all解决方案持开放态度吗?

echo preg_match_all('/x(a|b|d|e)/', $message, $matches)

来自docs

  

返回完整模式匹配的数量(可能为零),或   如果发生错误,则为FALSE。

虽然这会返回汇总的号码xa,xb,xd and xe,而不是单个

如果您需要获得个人资源,则需要再使用array_count_values

$sums = array_count_values($matches[0]);
print_r($sums);

答案 1 :(得分:1)

试试这个。

$string ="xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc";

echo substr_count($string, 'xa')."<br>";
echo substr_count($string, 'xb')."<br>";
echo substr_count($string, 'xc')."<br>";
echo substr_count($string, 'xd')."<br>";

答案 2 :(得分:0)

http://php.net/manual/en/function.substr-count.php

$text = "xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc";
echo substr_count($text, 'xa');
echo substr_count($text, 'xb');
echo substr_count($text, 'xd');