2016-01-26 16 views
5

Tôi muốn sử dụng array_map với phương pháp tĩnh nhưng tôi không thành công. Đây là mã của tôi:php array_map với phương pháp tĩnh của đối tượng

Class Buy { 

    public function payAllBills() { 
     $bill_list = OtherClass::getBillList(); 
     return array_map(array(self, 'pay'), $bill_list); // Issue line 
    } 

    private static function pay($bill) { 
     // Some stuff 
     return true; 
    } 

} 

PHP cung cấp cho tôi những lỗi:

Use of undefined constant self - assumed 'self' 

Tôi cũng đã cố gắng:

return array_map('self::makeBean()', $model_list); 

Nhưng nó không hoạt động.

Bạn có biết cách sử dụng array_map với phương pháp tĩnh không?

Tôi đã đọc: Can a method be used as a array_map function in PHP 5.2? nhưng câu hỏi này là về phương pháp chuẩn, chứ không phải là số liệu thống kê.

+1

Hãy thử điều này: - array_map (mảng (mới Mua, 'trả') , $ bill_list); –

+0

Kiểm tra thứ tự tham số [trong tất cả các vị trí không mong muốn THE MANUAL] (http://php.net/manual/en/function.array-map.php) – RiggsFolly

+0

Cảm ơn Ravi Hirani vì giải pháp của bạn cũng hoạt động. – jedema

Trả lời

14

Theo documentation,

return array_map('self::pay', $model_list); 

Lưu ý rằng nỗ lực của bạn bao gồm () trong chuỗi tên phương pháp, đó sẽ là sai

Các vấn đề liên quan