The part I found difficult was in the handlers - we only have `compare`, no
equals.
The only way we can have the handler differentiate between equality and
ordering
is if we pass a parameter to the handler, which means we'd have to change
the header.

From:

`typedef int (*zend_object_compare_zvals_t)(zval *result, zval *op1, zval
*op2);`

To:

`typedef int (*zend_object_compare_zvals_t)(zval *result, zval *op1, zval
*op2, int mode);`

Or we could introduce a new handler? Not sure if that's something we can do
easily.

Reply via email to