Is it possible to overload operators in PHP?


Specifically, I would like to create an Array class and would like to overload the [] operator.


If you are using PHP5 (and you should be), take a look at the SPL ArrayObject classes. The documentation isn’t too good, but I think if you extend ArrayObject, you’d have your “fake” array.

EDIT: Here’s my quick example; I’m afraid I don’t have a valuable use case though:

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

$a = new a;
$a[] = 1;

Answered By – cbeer

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published