ok ใช้ usort กับฟังก์ชั่นไม่ซับซ้อน
นี่คือสิ่งที่ฉันเคยมีมาก่อนในโค้ดเชิงเส้นของฉัน
function merchantSort($a,$b){
return ....// stuff;
}
$array = array('..','..','..');
จัดเรียงฉันก็ทำ
usort($array,"merchantSort");
ตอนนี้เรากำลังอัปเกรดโค้ดและลบฟังก์ชันส่วนกลางทั้งหมดและวางไว้ในตำแหน่งที่เหมาะสม ตอนนี้รหัสทั้งหมดอยู่ในคลาสและฉันไม่สามารถหาวิธีใช้ฟังก์ชัน usort เพื่อจัดเรียงอาร์เรย์ด้วยพารามิเตอร์ที่เป็น object method แทนที่จะเป็นฟังก์ชันง่ายๆ
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 () ได้อย่างไร