2
长话短说,我需要使用usort对一个对象数组进行排序,并且我需要告诉usort要排序的对象中的哪些字段。使用带条件结果的PHP usort
显而易见的解决方案是创建数十个独立的usort排序函数,但这似乎是多余和丑陋的。大多数情况下,对象将通过$ _GET的输入进行排序,但并非总是如此,所以我不想直接按$ _GET变量进行排序。
usort函数可以使用当前类的排序函数吗?这样
<?php
class myClass
{
public $myArray;
private $by;
public function filter($by)
{
$this->by = $by;
usort($this->myArray, /* Somehow point to the following function: */);
}
private function srt($a, $b)
{
$c = $this->by; // <- reaching a third variable
// ...
}
}
?>
+1。非常好的主意。 – pltvs 2010-09-24 09:10:27