在php中计算多个字符

在php中计算多个字符,php,mysql,count,Php,Mysql,Count,我正在尝试使用strlen或类似的方法来计算多组字符 一串。 这是数据库字符串 xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc 我从数据库中获取字符串,我想计算 字符串包含的“xa”、“xb”、“xd”和“xe” 我想我可以先用strlen数数xa,然后是xb,然后是xd,然后是xe,然后再加上数字,但是没有更简单的方法吗 请帮忙 您是否愿意使用preg\u match\u all解决方案 echo preg_ma

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

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

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

我想我可以先用strlen数数xa,然后是xb,然后是xd,然后是xe,然后再加上数字,但是没有更简单的方法吗

请帮忙


您是否愿意使用
preg\u match\u all
解决方案

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

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

虽然这返回的是xa、xb、xd和xe的聚合数,但不是单个数

如果您需要获得单个值,则需要使用
数组\u计数\u值执行一个步骤

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

您是否愿意使用
preg\u match\u all
解决方案

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

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

虽然这返回的是xa、xb、xd和xe的聚合数,但不是单个数

如果您需要获得单个值,则需要使用
数组\u计数\u值执行一个步骤

$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>";
$string=“xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc”;
回声子串计数($string,'xa')。“
”; 回声子串计数($string,'xb')。“
”; 回声子串计数($string,'xc')。“
”; 回声子串计数($string,'xd')。“
”;
试试这个

$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>";
$string=“xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc”;
回声子串计数($string,'xa')。“
”; 回声子串计数($string,'xb')。“
”; 回声子串计数($string,'xc')。“
”; 回声子串计数($string,'xd')。“
”;
@RepWhoringPeeHaa这一款考虑了
xc
:p@RepWhoringPeeHaa这一项考虑了
xc
:p@RepWhoringPeeHaa是 啊我会想出另一个解决方案,下面还没有提到。谢谢@user1430587编辑了我的答案,也得到了单独的答案:)美元匹配是用来做什么的?我使用$totalteknisk=preg_match_all('/x(a | b | d | e)/',$description2,$matches);但是匹配?它是一个数组,php将在其中放置所有匹配项。您可以尝试执行
var\u dump($matches)
来查看它是什么contains@RepWhoringPeeHaa是 啊我会想出另一个解决方案,下面还没有提到。谢谢@user1430587编辑了我的答案,也得到了单独的答案:)美元匹配是用来做什么的?我使用$totalteknisk=preg_match_all('/x(a | b | d | e)/',$description2,$matches);但是匹配?它是一个数组,php将在其中放置所有匹配项。您可以尝试执行
var\u dump($matches)
查看它包含的内容