爲了努力在PHP中使用OOP,我一直在尋找一種方法來定義用於排序的對象中的函數。在Java中這很簡單,因爲compareTo()
被排序後的數組等自動調用。我環顧了PHP.net,並且在PHP中找不到類似的東西。我已經採取了對我來說似乎是破解的方式,所以我想知道是否有人能夠以更簡單的方式提供一些見解。PHP:compareTo類似於Java
當前代碼:
class SomeObject {
private $someField;
function getSomeField() { return $this->someField; }
function compareTo($other) {
return $this->someField - $other->getSomeField();
}
}
//in funcs.php
function objSort($a, $b) {
return $a->compareTo($b);
}
//To sort an array
usort($array, objSort);
有沒有在PHP這樣做的一個更容易/更圓滑的方式嗎?
好問題。我不相信你可以在PHP中使用自己的比較運算符函數定義,但是我希望看到有人能夠明確地發佈一個答案。 – Brad
一般來說,答案是「在PHP中這樣做的好方法嗎?」沒有。」 –