php array

Тот еще COUNT

Иногда бывает под вечер зависнешь на какой-нибудь проверке и не можешь понять почему логика не складывается. Оказывается просто потому что,  не логично работают некоторые участки системы.

В частности столкнулся вот только что с функцией count в php для подсчета значений в массиве. В голове всегда было воспоминание что с ней что-то не так, вот пришлось их обновлять.

//$i = 1.05; // true
//$i = 1;  // true
//$i = '1'; // true
$i = array();// false
var_dump(count($i) > 0);

Логичнее наверное сделать что если переменная не массив, то возвращать NULL или false, так нет же надо возвращать 1.

Если var не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если varNULL, то будет возвращён 0.