0

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

xa1xb2xcxd3xe4xcxa5xb6xcxd7xe8xcxa9xb10xcxd11xe12xcxa13xb14xc

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

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

我想我可以先数 xa 然后 xb 然后 xd 然后 xestrlen然后加上数字,但没有更简单的方法吗?

请帮忙!

4

3 回答 3

2

您愿意接受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);
于 2012-06-04T08:23:58.057 回答
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>";
于 2012-06-04T08:26:52.523 回答
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');
于 2012-06-04T08:23:03.340 回答