我發現幾乎同樣的問題回答「否」,但有人問7個月前和PHP的新版本可能支持超載。
是否有任何方式來重載比較運算符在PHP中,如C/C + +? 我一直在開發一個(排序的)對象列表,以便快速操作而不需要迭代,我需要虛擬比較對象,而無需知道對象的任何屬性。應該與<,< =,==,> =,>等進行比較。是否可以虛擬定義運算符或取決於任何虛擬comapring函數。
我發現幾乎同樣的問題回答「否」,但有人問7個月前和PHP的新版本可能支持超載。
是否有任何方式來重載比較運算符在PHP中,如C/C + +? 我一直在開發一個(排序的)對象列表,以便快速操作而不需要迭代,我需要虛擬比較對象,而無需知道對象的任何屬性。應該與<,< =,==,> =,>等進行比較。是否可以虛擬定義運算符或取決於任何虛擬comapring函數。
不,這在新版本中沒有改變。
所以我必須繼續傳統的php風格。非常感謝您的回覆。 –
那很好,不是嗎?
但是,沒有。
而且我不認爲它在作品中(可能是錯誤的,儘管...)。現在,最好使用帶有布爾返回值的方法/函數:myarray_lessthan($array1, $array2)
,myarray_equals($array1, $array2)
,等等。
http://stackoverflow.com/questions/787692/operator-overloading-in-php – Supericy
@Supericy OP詢問是否這個在過去的7個月裏發生了變化;那個問題是從2009年起。 –
@ tomtheman5好點。但雖然不是重複的,但答案依然如此。 – Supericy