我正在尝试在类的实例内的数组上执行usort
。但排序取决于所述实例的属性。
代码(不起作用):
class foo {
private $array;
private $key;
private $dir;
function sort() {
usort($this->array, array("foo", "orderArray"));
}
function orderArray($a, $b) {
return strcmp($a[$this->key], $b[$this->key]) * $this->dir;
}
}
在orderArray
课程中,您无法访问$ key或$ dir 。问题是,我怎么能这样写呢?
答案 0 :(得分:4)
看起来你只想看到当前的实例?将其传递给回调。
function sort() {
usort($this->array, array($this, "orderArray"));
}