2010-07-27 52 views
0

我有兩個PHP5類(比如ClassA)的實例,我想比較一下它們是否相等。在C#中,我可以爲ClassA編寫一個.equals(ClassA other)方法,它將被重載到==運算符上。爲PHP5類啓用「.equals」等效項

在PHP5中是否有等價的方法來重載類中的方法,並將其用於==比較,還是我強制執行類似於$ instanceA-> equals($ instanceB)的操作?

回答

4

啊,對不起,錯過了關於超載問題的觀點。它看起來不像上面所說的那樣是可能的。但是,我確實找到了實現自己的有用示例。

我發現這個鏈接顯示了一些示例代碼:Comparable equals

1

在PHP5中,你不能重載那樣的操作符。內置的類(C中的擴展)可以定義他們自己的方法,但是在PHP代碼中沒有什麼可以完成的。另見:http://www.php.net/manual/en/language.oop5.object-comparison.php

+0

是的,內部類可以覆蓋compare_object,但如果被比較的兩個對象具有相同compare_object處理器將wonly工作,否則比較將始終產生錯誤的。 – Artefacto 2010-07-31 16:28:59