ГлавнаяБлогТот еще COUNT

Тот еще COUNT

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
17 августа 2011 г.
1 мин чтения

Иногда вечером можно зависнуть на какой-нибудь проверке и не понять почему логика не складывается — из-за неожиданного поведения некоторых функций.

Основная проблема касается функции count при работе с массивами. Например:

$i = array();// false  
var_dump(count($i) > 0);

Логичнее было бы возвращать NULL или false для переменных, которые не являются массивом, однако функция возвращает 1.

Официальное описание поведения: «Если var не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если var — NULL, то будет возвращён 0.»