要素が含まれていない配列でempty()を実行すると、trueになります。ただし、カウントが0のCountableオブジェクトでempty()を実行すると、falseになります。私には、0カウントの可算は空であると見なされるべきであるように思われます。私は何かが足りないのですか?
<?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を返すことを期待していましたが、そうではありません。
これが当てはまる合理的な理由はありますか、それともバグですか?