Если вы выполняете empty() для массива, в котором нет элементов, вы получаете true. Однако, если вы сделаете empty() для объекта Countable со значением 0, вы получите false. Мне кажется, что 0 count Countable следует считать пустым. Я что-то упускаю?
<?php
class Test implements Countable
{
public $count = 0;
public function count ()
{
return intval (abs ($this -> count));
}
}
$test = new Test ();
var_dump (empty ($test));
var_dump (count ($test));
$test -> count = 10;
var_dump (empty ($test));
var_dump (count ($test));
Я ожидал, что первый вызов empty вернет true, но это не так.
Есть ли для этого разумная причина или это ошибка?