如何在PHP中实现Countable接口?

时间:2010-02-19 16:09:20

标签: php class interface count

这样count($object)将返回其中的记录数

3 个答案:

答案 0 :(得分:9)

如果安装了标准PHP库,您应该能够在类中实现Countable,然后定义count()函数:

class foo implements Countable {
    ...
    public function count() {
        # do stuff here
        return $count;
    }
}

在此处阅读有关SPL的更多信息: http://www.php.net/manual/en/book.spl.php

有关Countable界面的更多信息: http://php.net/manual/en/countable.count.php

答案 1 :(得分:6)

查看Countable::count

class MyClass implements Countable {
    public function count() {
        //return count
    }
}

$c = new MyClass();
count($c); //calls $c->count();

答案 2 :(得分:0)

请注意,如果您的类是命名空间,则必须为Countable接口提供根命名空间:

namespace App;

class MyClass implements Countable {
    public function count() {
    //return count
    }
}

以上抛出错误:

  

找不到接口“ App \ Countable”

要解决(请注意Countable前面的斜杠):

namespace App;

class MyClass implements \Countable {
    public function count() {
    //return count
    }
}

(仅供参考,不确定这是否是Laravel特有的,但我想不是。)