为了努力在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中这样做的好方法吗?”没有。” –