sizeof() и count() имеют одну маленькую разницу, хотя по сути это одно и то же.
Дело в том что count возвращает 1 в двух случаях:
Когда кол-во элементов = 1
и когда результат работы отрицательный.
Цитата из PHP.NET ( http://php.net/manual/ru/function.count.php )
Возвращает количество элементов в array_or_countable. Если параметр не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если array_or_countable — NULL, то будет возвращён 0.
А sizeof() так не поступает, хотя это и синоним count()