Счетные объекты и пустые

Если вы выполняете 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, но это не так.

Есть ли для этого разумная причина или это ошибка?

7
задан GordonM 25 May 2012 в 10:10
поделиться