创建函数来计算字符串中的字符数

问题描述:

我试图创建一个函数来计算字符串中字母的出现次数。这是我到目前为止:创建函数来计算字符串中的字符数

<?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"; 
?> 

输出应该只是一个数字。

尝试这种情况:

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);

<?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; 
?> 

最简单的解决办法是将使用内置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.