How to count instances of multibyte characters in string with PHP

1 Answer

0 votes
function mb_characters_count($s) 
{
    $len = mb_strlen($s, 'UTF-8');
    $arr = array();
    for($i = 0; $i < $len; $i++) 
    {
        $char = mb_substr($s, $i, 1, 'UTF-8');
        if(!array_key_exists($char, $arr))
            $arr[$char] = 0;
        $arr[$char]++;
    }
    return $arr;
}

$s = "PHP programming αααααβββββγγγγγγγγ";
echo "<pre>";
print_r(mb_characters_count($s)); 
echo "</pre>";


/*
run: 

Array
(
    [P] => 2
    [H] => 1
    [ ] => 2
    [p] => 1
    [r] => 2
    [o] => 1
    [g] => 2
    [a] => 1
    [m] => 2
    [i] => 1
    [n] => 1
    [α] => 5
    [β] => 5
    [γ] => 8
)

*/

 



answered Jun 5, 2016 by avibootz
...