Function.call-user-func-array
Aus PHP-Wiki
Private Krankenversicherung und Rechtsschutzversicherung, Sitzbank Easy Moonlight von Easy Baby . Hundehalterhaftpflichtversicherung Vergleichen Online
call_user_func_array — Call a user function given with an array of parameters
Inhaltsverzeichnis |
Beschreibung
mixed call_user_func_array (callback $function , array $param_arr )
Call a user defined function
with the parameters in
param_arr
.
Parameter-Liste
- function
- The function to be called.
- param_arr
- The parameters to be passed to the function, as an indexed array.
Rückgabewerte
Returns the function result, or FALSE on error.
Beispiele
Beispiel #1 call_user_func_array() example
<?php function debug($var, $val) { echo "***DEBUGGING\nVARIABLE: $var\nVALUE:"; if (is_array($val) || is_object($val) || is_resource($val)) { print_r($val); } else { echo "\n$val\n"; } echo "***\n"; } $c = mysql_connect(); $host = $_SERVER["SERVER_NAME"]; call_user_func_array('debug', array("host", $host)); call_user_func_array('debug', array("c", $c)); call_user_func_array('debug', array("_POST", $_POST)); ?>
Beispiel #2 call_user_func_array() using namespace name
<?php namespace Foobar; class Foo { static public function test($name) { print "Hello {$name}!\n"; } } // As of PHP 5.3.0 call_user_func_array(__NAMESPACE__ .'::Foo::test', array('Hannes')); // Hello Hannes! // As of PHP 5.3.0 call_user_func_array(array(__NAMESPACE__ .'::Foo', 'test'), array('Philip')); // Hello Philip! ?>
Beispiel #3 Using lambda function
<?php $func = function($arg1, $arg2) { return $arg1 * $arg2; }; var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.3.0 */ // int(8) ?>
Anmerkungen
Hinweis:
Referenced variables in param_arr
are passed to the
function by a reference, others are passed by a value. In other words, it
does not depend on the function signature whether the parameter is passed
by a value or by a reference.
Siehe auch
call_user_func() Informationen über den Callback-Typ