我想计算字符串中所有字母出现的次数。说我有计算字符串中所有字母的出现次数PHP
$str = "cdcdcdcdeeeef";
我可以使用str_split和array_count_values来实现这一点。
array_count_values(str_split($str));
想知道是否有另一种方法可以做到这一点,而无需将字符串转换为数组?谢谢
我想计算字符串中所有字母出现的次数。说我有计算字符串中所有字母的出现次数PHP
$str = "cdcdcdcdeeeef";
我可以使用str_split和array_count_values来实现这一点。
array_count_values(str_split($str));
想知道是否有另一种方法可以做到这一点,而无需将字符串转换为数组?谢谢
您不必将其转换为array()
即可使用substr_count()
实现相同。
substr_count - 数子的出现次数
<?php
$str = "cdcdcdcdeeeef";
echo substr_count($str, 'c');
?>
substr_count()
返回草垛字符串出现针子的次数。请注意,针是区分大小写的。
编辑:
对不起,我误解,你可以使用count_chars
有字符串中的每个字符的计数值。举个例子:
<?php
$str = "cdcdcdcdeeeef";
foreach (count_chars($str, 1) as $strr => $value) {
echo chr($strr) . " occurred a number of $value times in the string." . "<br>";
}
?>
count_chars - 返回有关字符串
有返回关于字符串中使用的字符信息的PHP函数中使用的字符信息:count_chars
那么它可能不是你要找的,因为根据http://php.net/manual/en/function.count-chars.php它
计数在 串每个字节值(0..255)的出现的次数,并返回它以不同的方式从相同的链接
实施例(http://php.net/manual/en/function.count-chars.php):
<?php
$data = "Two Ts and one F.";
foreach (count_chars($data, 1) as $i => $val) {
echo "There were $val instance(s) of \"" , chr($i) , "\" in the string.\n";
}
?>
不是我正在寻找的答案。我想要统计字符串中每个字母的所有出现,而不仅仅是一个特定的字母。 :) –
@WildWidow请检查编辑:) – user5173426