Иногда вечером можно зависнуть на какой-нибудь проверке и не понять почему логика не складывается — из-за неожиданного поведения некоторых функций.
Основная проблема касается функции count при работе с массивами. Например:
$i = array();// false
var_dump(count($i) > 0);Логичнее было бы возвращать NULL или false для переменных, которые не являются массивом, однако функция возвращает 1.
Официальное описание поведения: «Если var не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если var — NULL, то будет возвращён 0.»
