How to find the longest repeating character in a string with PHP

2 Answers

0 votes
function find_longest_repeating_character($str) {
    $longest_count = 0;
    $size = strlen($str);
    $longest_repeating_character = ' ';
    for ($i = 0; $i < $size; ) {
        $ch = $str[$i];
        $count = 0;
        for (; $i < $size && $ch == $str[$i]; $i++) {
            $count++;
        }
        if ($count > $longest_count) {
            $longest_count = $count;
            $longest_repeating_character = $ch;
        }
    }
    return $longest_repeating_character;
}

$str = "aabbbbhhhhhhhdddefgggg88";

echo find_longest_repeating_character($str);





/*
run:

h

*/

 



answered Sep 2, 2023 by avibootz
0 votes
$str = "aabbbbhhhhhhhdddefgggg88";

preg_match_all('#(\w)\1+#', $str, $matches);

$count = 0;
for ($i = 0; $i < count($matches[0]); $i++) {
    $len = strlen($matches[0][$i]);
    if ($len > $count) {
        $ch = $matches[0][$i][0];
        $count = $len;
    }
}

echo $ch;




/*
run:

h

*/

 



answered Sep 2, 2023 by avibootz
...