call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:
<?php
function a($b,$c)
{
echo $b;
echo $c;
}
call_user_func('a', "111","222");
call_user_func('a', "333","444");
//显示 111 222 333 444
?>
调用类内部的方法比较奇怪,用的是array,
<?php
class a {
function b($c)
{
echo $c;
}
}
call_user_func(array("a", "b"),"111");
//显示 111
?>
call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:
<?php
function a($b, $c)
{
echo $b;
echo $c;
}
call_user_func_array('a', array("111", "222"));
//显示 111 222
?>
call_user_func_array函数也可以调用类内部的方法的
<?php
Class ClassA
{
function bc($b, $c) {
$bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));
//显示 333
?>
call_user_func函数和call_user_func_array函数都支持引用:
没有引用例子
<?php
function a($b)
{
$b++;
}
$c = 0;
call_user_func('a', $c);
echo $c;//显示 0
call_user_func_array('a', array($c));
echo $c;//显示0
?>
引用例子
<?php
function increment($var)
{
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a; // 0
call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>
分享到:
相关推荐
`call_user_func_array` 与 `call_user_func` 类似,但参数传递方式不同。它接受一个参数数组,使参数结构更加清晰。 基本语法是: ```php call_user_func_array(callback $function, array $parameters); ``` - ...
call_user_func_array call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)...
- `call_user_func_array` 与 `call_user_func` 类似,但更加强大,它允许你将一个参数数组传递给回调函数。 - 这个函数接受两个参数:第一个是回调函数,第二个是一个包含参数的数组,如 `call_user_func_array('...
一、直接调用方法复制代码 代码如下:function test($a, $b) {echo ‘测试一:’.$a.$b;}//调用test方法,array(“asp”, ‘php’)对应相应的参数call_user_func_array(‘test’, array(...call_user_func_array(array
call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:第一种是调用孤独的函数:复制代码 代码如下:<?phpfunction funa($b,$c){ echo $b; echo $c;}call_user_func(‘funa’, “111”,”...
call_user_func_array(function_name, array_of_params); ``` 这个函数的第一个参数同样是函数名,但第二个参数是一个数组,其中每个元素将作为参数传递给函数。看下面的例子: ```php function myFunctionWithArray...
mixed call_user_func_array ( callback function, array param_arr ) ``` - `function`:必需,一个回调函数,可以是全局函数名、类方法(以数组形式 `array(object, 'method')` 提供)或者闭包。 - `param_arr`:...
最后,使用call_user_func或call_user_func_array时要确保传入的回调是有效的,并且当传入对象的方法时,对象实例必须已经创建。在使用call_user_func来调用方法时,如果方法不存在,或者传入的参数不正确,将会引发...
或 : $ result = call_user_func_array ( $ callable ); 这具有简单性的巨大优势,但是不幸的是,它比直接调用慢。 由于每个Callable类型将需要它自己的调用方法,因此该衬垫还隐藏了一些复杂性。 如果我们在哪里...
与`call_user_func()`不同,`call_user_func_array()`接受一个参数数组 `$param_arr`,它包含了传递给被调用函数的所有参数。这样,参数的结构更加清晰,特别是当参数数量不确定或者需要批量传递参数时非常有用: `...