2012-03-16 23 views

cevap

15

Bir dizi parametreyi iletmek istiyorsanız, call_user_func_array()'u deneyin.

+1

Benimkinden daha iyi cevap. –

+0

@KyleDecot Bana teşekkür etmenin en iyi yolu, eğer bu sizin için işe yaradıysa bir cevap kabul etmektir :) – Crashspeeder

0

Ya bunları birer birer iletin veya geri arama işlevinin bir diziyi argüman olarak kabul etmesini sağlayın ve ayrıştırmayı dahili olarak yapın.

1

Bu sorunun cevaplandığını bilin. Ancak aşağıdakiler de iyi çalışıyor. 100,000 arasında

Exec kere


1,006599: call_user_func ($ işlev, $ değeri)

1,193323: call_user_func ((array ($ nesne, $ işlev), $ değer)

1.232891: call_user_func_array ($ işlev, dizi ($ değeri))

1,309725: call_user_func_array ((array ($ nesne, $ işlev), dizi ($ değeri)

Eğer call_user_func kullanmanız gerekirse:

call_user_func(
    $function, 
     $arg1,$arg2 
); 

Eğer call_user_func_array kullanmanız gerekirse: Tasarım gereği

call_user_func_array(
    $function, 
     array($arg1,$arg2) 
); 

hem bakılmaksızın dizilerde geçebilir. Bununla birlikte, aynı zamanda tasarım gereği, diğeri için kullanım için daha fazla gerekli olabilir. Her şey ne için kullanıldığına bağlı. Basit bir dizi dizisi, call_user_func dosyasında daha iyi ve hızlı bir şekilde geçer.

İlgili konular