我正在尝试使用strlen
或类似的东西来计算字符串中的多组字符。这是数据库字符串
xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc
我从数据库中获取字符串,我想计算
字符串包含的“xa”“xb”“xd”和“xe”。
我想我可以先数 xa 然后 xb 然后 xd 然后 xestrlen
然后加上数字,但没有更简单的方法吗?
请帮忙!
您愿意接受preg_match_all
解决方案吗?
echo preg_match_all('/x(a|b|d|e)/', $message, $matches)
从文档:
返回完整模式匹配的数量(可能为零),如果发生错误,则返回 FALSE。
虽然这会返回 的总数,xa,xb,xd and xe
而不是单个的
如果您需要获得单独的,则需要再迈出一步array_count_values
:
$sums = array_count_values($matches[0]);
print_r($sums);
试试这个。
$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>";
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');