PHP で OOP を利用するために、ソートに使用する関数をオブジェクト内に定義する方法を探していました。Java では、compareTo()
ソートされた配列などによって が自動的に呼び出されるため、これは簡単です。私はPHP.netを見回しましたが、PHPに似たものは見つかりませんでした。私にはハックのように見えるものに頼ったので、誰かがより簡単な方法で洞察を提供できるかどうか疑問に思っています.
現在のコード:
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でこれを行うためのより簡単で洗練された方法はありますか?