我正在尝试创建一个函数来计算字符串中字母的出现次数。以下是我到目前为止的情况:
<?php
function charCount ($str, $char){
for($i=0;$i <= strlen($str);$i++){
if($str[$i] == $char){
echo $char;
}
}
}
?>
<?php
$string = charCount ("This is a test", "t");
echo "$string";
?>
输出应该只是一个数字。
答案 0 :(得分:0)
试试这个:
function charCount ($str, $char){
$count=0;
for($i=0;$i < strlen($str);$i++){
if($str[$i] == $char){
$count++;
}
}
return $count;
}
在for循环中必须计算字符串的长度减1,因此使用它:
$i < strlen($str);
答案 1 :(得分:0)
<?php
function charCount ($str, $char){
$count = 0;
for($i=0;$i <= strlen($str);$i++){
if($str[$i] == $char){
++$count;
}
}
return $count;
}
?>
<?php
$str = "This is a test";
$char = "t";
$string = charCount($str, $char);
echo $string;
// Another way to do this
$number = substr_count($str, $char);
echo $number;
?>
答案 2 :(得分:0)
最简单的解决方案是使用内置PHP函数substr_count
注意: 对于不区分大小写的搜索,请将$ text转换为小写,然后应用函数
$text = "This is a test";
$search = "t";
echo substr_count(strtolower($text), $search); // Case insensitive search. Prints 3.
echo substr_count($text, $search); // Case sensitive search. Prints 2.