call_user_func_array

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

call_user_func_array - Π’ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ” callback-Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ Π· масивом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–Π²

Опис

call_user_func_array(callable $callback, array $args): mixed

Π’ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ” callback-Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ callback, Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π· масиву args

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–Π²

callback

Ѐункція Ρ‚ΠΈΠΏΡƒ, Ρ‰ΠΎ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ”Ρ‚ΡŒΡΡ callable

args

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, Ρ‰ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡŒΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ, Ρƒ вигляді масиву.

Π―ΠΊΡ‰ΠΎ всі ΠΊΠ»ΡŽΡ‡Ρ– args Ρ” числовими, ΠΊΠ»ΡŽΡ‡Ρ– Ρ–Π³Π½ΠΎΡ€ΡƒΡŽΡ‚ΡŒΡΡ Ρ– ΠΊΠΎΠΆΠ΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π΄ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° callback як ΠΏΠΎΠ·ΠΈΡ†Ρ–ΠΉΠ½ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ порядку.

Π―ΠΊΡ‰ΠΎ ΡΠΊΡ–ΡΡŒ ΠΊΠ»ΡŽΡ‡Ρ– args Ρ” рядками, Ρ†Ρ– Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ– Π΄ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° callback як Ρ–ΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ– Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π· Ρ–ΠΌ'ям, Π·Π°Π΄Π°Π½ΠΈΠΌ ΠΊΠ»ΡŽΡ‡Π΅ΠΌ.

Π’Ρ–Π΄Π±ΡƒΠ΄Π΅Ρ‚ΡŒΡΡ Π½Π΅ΠΏΠΎΠΏΡ€Π°Π²Π½Π° ΠΏΠΎΠΌΠΈΠ»ΠΊΠ°, якщо числовий ΠΊΠ»ΡŽΡ‡ Ρƒ args Π·'ΡΠ²Π»ΡΡ”Ρ‚ΡŒΡΡ після рядкового ΠΊΠ»ΡŽΡ‡Π° Π°Π±ΠΎ якщо рядковий ΠΊΠ»ΡŽΡ‡ Π½Π΅ Π·Π±Ρ–Π³Π°Ρ”Ρ‚ΡŒΡΡ Π· Ρ–ΠΌ'ям Π±ΡƒΠ΄ΡŒ-якого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° callback

ЗначСння, Ρ‰ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ‚Π°ΡŽΡ‚ΡŒΡΡ

ΠŸΠΎΠ²Π΅Ρ€Ρ‚Π°Ρ” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Π°Π±ΠΎ **false**Π² случаС возникновСния ошибки.

список Π·ΠΌΡ–Π½

Π’Π΅Ρ€ΡΠΈΡΠžΠΏΠΈΡ
8.0.0ΠšΠ»ΡŽΡ‡Ρ– ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° args Ρ‚Π΅ΠΏΠ΅Ρ€ Ρ–Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΡƒΡŽΡ‚ΡŒΡΡ як Ρ–ΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–Π², Π° Ρ‡ΠΈ Π½Π΅ Ρ–Π³Π½ΠΎΡ€ΡƒΡŽΡ‚ΡŒΡΡ.

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ΠΈ

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #1 ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ використання Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— call_user_func_array()****

Loading...

Висновок Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρƒ Π±ΡƒΠ΄Π΅ схоТим Π½Π°:

foobar got one and two
foo::bar got three and four

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #2 ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ використання call_user_func_array()** Π· Ρ–ΠΌ'ям простору Ρ–ΠΌΠ΅Π½**

Loading...

Висновок Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρƒ Π±ΡƒΠ΄Π΅ схоТим Π½Π°:

Hello Hannes!
Hello Philip!

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #3 Використання лямбда-Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—

Loading...

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ виконання Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρƒ:

int(8)

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #4 ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π·Π½Π°Ρ‡Π΅Π½ΡŒ Π·Π° посиланням

Loading...

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ виконання Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρƒ:

function mega $a=55
global $bar=55

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ #5 ΠŸΡ€ΠΈΠΊΠ»Π°Π΄ використання call_user_func_array()** Π· Ρ–ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ**

Loading...

Висновок Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Ρƒ Π±ΡƒΠ΄Π΅ схоТим Π½Π°:

foobar ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ one ΠΈ two
foobar ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ foo ΠΈ bar

Fatal error: Uncaught Error: Cannot use positional argument after named argument

ΠŸΡ€ΠΈΠΌΡ–Ρ‚ΠΊΠΈ

ЗауваТСння :

Callback-Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—, зарСєстровані Ρ‚Π°ΠΊΠΈΠΌΠΈ функціями як call_user_func()ΠΈcall_user_func_array(), Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ΡŒ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Π½Ρ– Π·Π° наявності Π½Π΅ спійманого Π²ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ, ΠΊΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ Ρƒ ΠΏΠΎΠΏΠ΅Ρ€Π΅Π΄Π½Ρ–ΠΉ callback-Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ—.

Π”ΠΈΠ²Ρ–Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΆ

  • call_user_func() - Π’ΠΈΠΊΠ»ΠΈΠΊΠ°Ρ” callback-Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΡŽ, Π·Π°Π΄Π°Π½Ρƒ Ρƒ ΠΏΠ΅Ρ€ΡˆΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–
  • ReflectionFunction::invokeArgs() - Π’ΠΈΠΊΠ»ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— Ρ–Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ–Π²
  • ReflectionMethod::invokeArgs() - Π²ΠΈΠΊΠ»ΠΈΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ–Π² масивом