为PHP5类启用“.equals”等效项

时间:2010-07-27 21:52:06

标签: php oop operator-overloading

我有两个PHP5类实例(比如ClassA),我想比较一下它们是否相等。在C#中,我可以为ClassA编写一个.equals(ClassA other)方法,它将被重载到==运算符上。

在PHP5中是否有相同的方法来重载类中的方法并将其用于==比较,或者我被迫执行类似$ instanceA-> equals($ instanceB)的操作?

2 个答案:

答案 0 :(得分:4)

啊,抱歉错过了有关超载的问题。如上所述,它看起来不可能。但是,我确实找到了一个有用的例子来实现你自己的。

我发现此链接显示了一些示例代码:Comparable equals

答案 1 :(得分:1)

在PHP5中,你不能重载这样的运算符。内置类(C中的扩展)可以定义自己的方法,但在PHP代码中没有什么可做的。另见:http://www.php.net/manual/en/language.oop5.object-comparison.php