COUNTING ARRAY ELEMENTS IN PHP
Обръщам се за помощ за решението на PHP на следния проблем. Имаме масив от букви 'a', 'b', 'c'; 'a' се повтаря веднъж, 
'b' - два пъти, 'c' - три пъти. Трябва да се направи друг масив, всъщност матрица от асоциативни масиви, всички с по 2 еднакви
ключа - 'letter' и 'count', като стойностите на 'letter' е всяка една от буквите , а на 'count' -  броя на повторение на буквата 
(самите букви не се сортират, нито се махат повтарящите се букви)
вход  - ['c','a','c','b','b','c'] 
изход - [ ['letter'=>'c','count'=>3],['letter'=>'a','count'=>1],['letter'=>'c','count'=>3],
              ['letter'=>'b','count'=>2],['letter'=>'b','count'=>2],['letter'=>'c','count'=>3] ] 
Опитах се да реша задачата на JS и PHP. Решението на JS работи, но не и това на PHP(cli), въпреки че логиката е същата. 
По някаква причина броенето не се задейстна и на всеки 'count' стои 0, а не мога да разбера защо.
JS:
let arr = ['c','a','c','b','b','c']
let res = []
 
for(let letter of arr){
     let obj = {}
     obj.letter = letter
     obj.count = 0
     res.push(obj)
let count = res.filter(function(a){return a.letter == letter})
     for(let r of res){
        if(r.letter == letter){
            r.count = count
        }
     }
}
console.log(res)
PHP:
<?php
$arr = ['c','a','c','b','b','c'];
$res = [];
 
foreach($arr as $letter){
     $assocArr = [];
     $assocArr['letter'] = $letter;
     $assocArr['count'] = 0;
     array_push($res,$assocArr);
$count = count( array_filter($res, function($a){return $a['letter'] == $GLOBALS['letter'];}) );
     foreach($res as $r){
        if($r['letter'] == $letter){
            $r['count'] = $count;
        }
     }
}
var_dump($res);