PHP
Referenzliste
call_user_func_array
Functions-Funktionen
Befehl:
mixed call_user_func_array ( callable $callback , array $param_arr )
Beschreibung:
Mit call_user_func_array() kann man eine benutzerdefinierte Funktion (function_name) aufrufen. Dieser benutzerdefinierten Funktion wird das Array paramarr als Argument übergeben.
Als Ergebnis liefert call_user_func_array() den Rückgabewert der aufgerufenen Funktion.
Als Ergebnis liefert call_user_func_array() den Rückgabewert der aufgerufenen Funktion.
Aktiv in Version:
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
Siehe auch:
call_user_func_array() - Beispiel
Eingabe:
<?php function foobar($arg, $arg2) { echo __FUNCTION__, " got $arg and $arg2\n"; } class foo { function bar($arg, $arg2) { echo __METHOD__, " got $arg and $arg2\n"; } } // Rufen Sie die foobar()-Funktion mit 2 Argumenten call_user_func_array("foobar", array("one", "two")); // Rufen Sie die $ foo->bar()-Methode mit 2 Argumenten $foo = new foo; call_user_func_array(array($foo, "bar"), array("three", "four")); ?>
Ausgabe:
foobar got one and two
foo::bar got three and four
foo::bar got three and four
Beispiel call_user_func_array() mit Namespacename
Eingabe:
<?php namespace Foobar; class Foo { static public function test($name) { print "Hello {$name}!\n"; } } // Ab PHP 5.3.0 call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes')); // Ab PHP 5.3.0 call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip')); ?>
Ausgabe:
Hello Hannes!
Hello Philip!
Hello Philip!
Mit Lambda-Funktion
Eingabe:
<?php $func = function($arg1, $arg2) { return $arg1 * $arg2; }; var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */ ?>
Ausgabe:
int(8)
Beispiel
Eingabe:
<?PHP $_POST['name'] = 'Enseleit'; $_POST['vorname'] = 'Damir'; $_POST['homepage'] = 'SELFPHP'; function debug ( $var, $val ) { echo '*** ' . $var . ' ***' . "\n"; echo 'Datum: ' . date ( 'm.d.Y' ) . "\n"; echo 'Uhrzeit: ' . date ( 'H:i:s' ) . "\n"; if ( is_array ( $val ) || is_object ( $val ) || is_resource ( $val ) ) { print_r ( $val ); } else { echo "\n" . $val . "\n"; } echo '***' . "\n\n"; } call_user_func_array ( 'debug', array ( 'Formulardaten', $_POST ) ); ?>
Ausgabe:
*** Formulardaten ***
Datum: 07.06.2004
Uhrzeit: 21:51:56
Array
(
[name] => Enseleit
[vorname] => Damir
[homepage] => SELFPHP
)
***
Datum: 07.06.2004
Uhrzeit: 21:51:56
Array
(
[name] => Enseleit
[vorname] => Damir
[homepage] => SELFPHP
)
***
Functions-Funktionen