我正在尝试使用strlen
或类似的东西来计算多组字符
在一个字符串中。
这是数据库字符串
xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc
我从数据库中获取字符串,我想计算
的数量“xa”“xb”“xd”和字符串包含的“xe”。
我猜我可以首先计算xa然后xb然后xd然后xe计算strlen
然后添加数字但不是更简单的方法吗?
请帮忙!
答案 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');