OK使用usort與功能並不複雜在PHP中使用usort一類私有函數
這是我在我的線性碼之前有
function merchantSort($a,$b){
return ....// stuff;
}
$array = array('..','..','..');
排序我根本就
usort($array,"merchantSort");
現在我們升級代碼並刪除所有全局函數並將它們放在適當的位置。現在,所有的代碼是一個類,我無法弄清楚如何使用usort函數來這是一個簡單的函數
class ClassName {
...
private function merchantSort($a,$b) {
return ...// the sort
}
public function doSomeWork() {
...
$array = $this->someThingThatReturnAnArray();
usort($array,'$this->merchantSort'); // ??? this is the part i can't figure out
...
}
}
的問題是如何做的一個目的方法來代替參數數組排序我所說的usort()函數
這太好了!我還想指出,sort函數不必作爲靜態方法被隱式*聲明;因爲它仍然沒有:) – Jimbo 2013-03-05 16:00:32
@Jimbo - 這是有道理的,所以私人函數可以使用實例化和類變量。是的,這太棒了!另請參閱@deceze答案,您可以在其中傳遞'$ this'(neato)。 – Ben 2013-05-13 07:50:10
如果你讓函數是靜態的(你應該),你可以寫'usort($ array,'ClassName:merchantSort')',不是嗎? – caw 2013-09-23 00:45:28