2012-03-16 9 views

Odpowiedz

15

Spróbuj call_user_func_array(), jeśli chcesz przekazać szereg parametrów.

+1

Lepsza odpowiedź niż moja. –

+0

@KyleDecot Najlepszym sposobem na podziękowanie jest akceptacja odpowiedzi, jeśli to zadziałało dla Ciebie :) – Crashspeeder

0

Albo przekazuj je jeden po drugim, albo funkcję zwrotną przyjmuj tablicę jako argument i parsuj wewnętrznie.

1

Wiem, że odpowiedź na to pytanie. Jednak poniższe działa również dobrze.

Exec pomiędzy 100,000 dostęp


1,006599: call_user_func ($ func, $ value)

1,193323: call_user_func ((array ($ object, $ func), $ value)

1.232891: call_user_func_array ($ func array (wartość $))

1,309725: call_user_func_array ((tablica ($ obiekt, $ func) tablica (wartość $)

Jeśli trzeba użyć call_user_func:

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

Jeśli trzeba użyć call_user_func_array:

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

Zgodnie z projektem oba mogą przechodzić w tablicach niezależnie. Jednak również według projektu można bardziej wymagać użycia niż drugi. Wszystko zależy od tego, do czego jest używany. Uproszczony zbiór tablic przebiega dobrze i szybciej, w call_user_func.

Powiązane problemy