Arkadaş forumdan uzaklaştırılmış ama belki aynı ya da benzer bir problemle karşılaşacak olan arkadaşlar için cevaplıyorum,
Message: count(): Parameter must be an array or an object that implements Countable şeklinde bir hata alınmış, öncelikle hatayı okumalıyız. Saydırılacak parametre bir dizi veya sınıf olmalı... bunlardan birisi değilse ne olabilir? String olabilir, integer olabilir boolean (true / false) olabilir veya null olabilr. hataya sebep de bunlardan birisinin olması, o yüzden fonksiyona gönderilen saydırılacak olan parametreyi evvelce bir kontrol etmek lazım, acaba bir dizi ya da class mı diye, bu işlem fonksiyon içerisinde de yapılabilir ve direkt olarak kullanacağımız sonuçlardan birisi değil de, mesela 0 gibi bir değer de ek olarak duruma bağlı döndürülebilir veya performans düşünülüyorsa çağırılmadan önce, yanılma ihtimalleri düşünülüyorsa fonksiyon içerisinde kontrol edilebilir ve bir dizi ya da sınıf ise istenilen sonuçlardan birisi dönürülebilir. veya bunların yerine bir try-catch yapısı kullanılarak error exception yapılabilir... kısaca algoritmayı düzgün belirlemek lazım ki başımız sonradan ağrımasın herkese kolay gelsin.