2016-01-26 19 views
5

array_map kullanmak statik bir yöntemle ancak başarısız. Ben de denedimphp array_map statik nesnenin yöntemiyle

Use of undefined constant self - assumed 'self' 

:

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 bana hata veriyor:

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

Ama çalışmıyor İşte benim kodudur.

array_map'in statik yöntemle nasıl kullanıldığı hakkında bir fikriniz var mı?

Zaten okudum: Can a method be used as a array_map function in PHP 5.2? ama bu soru, standart yöntemler, statikler hakkında değil. documentation gereğince

+1

bu deneyin yanlış olur yöntem adı dizesi, içinde () dahil

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

Not: - array_map (dizi (yeni Al, 'ödeme') , $ bill_list); –

+0

Parametre sırasını kontrol edin [tüm olası yerlerin içinde MANUEL] (http://php.net/manual/en/function.array-map.php) – RiggsFolly

+0

Teşekkürler Ravi Hirani, çözümünüz çok işe yarıyor. – jedema

cevap

14

, sizin girişimi