几个php内置接口Countable

Countable接口

    类实现 Countable 接口,类实例就可以用count()函数
    特别注意类中必须有count公共方法,否则会报错。如果数值超过PHP_INT_MAX,返回值会有出入

class CountMe implements Countable {
        protected $_myCount = 3;
        public function count() {
        return $this->_myCount;
    }
}
$countable = new CountMe();
echo count($countable); //result is "3"

ArrayAccess(数组式访问)接口

    提供像访问数组一样访问对象的能力的接口。

类中以下方法必须实现
    ArrayAccess::offsetExists — 检查一个偏移位置是否存在
    ArrayAccess::offsetGet — 获取一个偏移位置的值
    ArrayAccess::offsetSet — 设置一个偏移位置的值
    ArrayAccess::offsetUnset — 复位一个偏移位置的值

JsonSerializable接口

实现了这个接口的类, 需要定义一个jsonSerialize()方法, 这个方法会在对这个类的对象做json_encode的时候被调用

class Man implements JsonSerializable {
    private $a, $b;
    public function __construct($a, $b) {
        $this->a = $a; $this->b = $b;
    }
    public function jsonSerialize(){
        return $this->a + $this->b;
    }
}
echo json_encode(new Man (23, 42));// 输出65

你可能感兴趣的:(几个php内置接口Countable)