2016-10-01 4 views
0

Я пытаюсь создать функцию для подсчета вхождения буквы в строке. Вот что у меня есть до сих пор:Создание функции для подсчета символов в строке

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

Попробуйте это:

function charCount ($str, $char){ 
    $count=0; 
    for($i=0;$i < strlen($str);$i++){ 
     if($str[$i] == $char){ 
      $count++; 
     } 
    } 
    return $count; 
} 

В течение цикла должны рассчитывать на длину строки минус 1, поэтому он используется:
$i < strlen($str);

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

Самым простым решением было бы использовать встроенную функцию PHP substr_count

Примечание:Для нечувствительного к регистру поиска, конвертировать $ текст в нижний регистр и затем применять функцию

$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. 
Смежные вопросы