为了在 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 中是否有更简单/更时尚的方式来执行此操作?