一尘不染

是否可以在PHP中重载运算符?

php

具体来说,我想创建一个Array类,并希望重载[]​​运算符。


阅读 278

收藏
2020-05-26

共1个答案

一尘不染

如果您正在使用PHP5(应该如此),请查看SPL
ArrayObject
类。文档不是太好,但是我认为如果扩展ArrayObject,您将拥有“假”数组。

编辑:这是我的简单示例;恐怕我没有有价值的用例:

class a extends ArrayObject {
    public function offsetSet($i, $v) {
        echo 'appending ' . $v;
        parent::offsetSet($i, $v);
    }
}

$a = new a;
$a[] = 1;
2020-05-26