`

call_user_func与call_user_func_array

阅读更多

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
?>

分享到:
评论

相关推荐

    php自定义函数call_user_func和call_user_func_array详解

    `call_user_func_array` 与 `call_user_func` 类似,但参数传递方式不同。它接受一个参数数组,使参数结构更加清晰。 基本语法是: ```php call_user_func_array(callback $function, array $parameters); ``` - ...

    PHP中call_user_func_array回调函数的用法示例

    call_user_func_array call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)...

    PHP call_user_func和call_user_func_array函数的简单理解与应用分析

    - `call_user_func_array` 与 `call_user_func` 类似,但更加强大,它允许你将一个参数数组传递给回调函数。 - 这个函数接受两个参数:第一个是回调函数,第二个是一个包含参数的数组,如 `call_user_func_array('...

    解析php中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

    PHP 函数call_user_func和call_user_func_array用法详解

    call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:第一种是调用孤独的函数:复制代码 代码如下:&lt;?phpfunction funa($b,$c){ echo $b; echo $c;}call_user_func(‘funa’, “111”,”...

    php代码-call_user_func and call_user_func_array

    call_user_func_array(function_name, array_of_params); ``` 这个函数的第一个参数同样是函数名,但第二个参数是一个数组,其中每个元素将作为参数传递给函数。看下面的例子: ```php function myFunctionWithArray...

    PHP中call_user_func_array()函数的用法演示

    mixed call_user_func_array ( callback function, array param_arr ) ``` - `function`:必需,一个回调函数,可以是全局函数名、类方法(以数组形式 `array(object, 'method')` 提供)或者闭包。 - `param_arr`:...

    php中call_user_func函数使用注意事项

    最后,使用call_user_func或call_user_func_array时要确保传入的回调是有效的,并且当传入对象的方法时,对象实例必须已经创建。在使用call_user_func来调用方法时,如果方法不存在,或者传入的参数不正确,将会引发...

    call_user_func:call_user_func()的基准研究

    或 : $ result = call_user_func_array ( $ callable ); 这具有简单性的巨大优势,但是不幸的是,它比直接调用慢。 由于每个Callable类型将需要它自己的调用方法,因此该衬垫还隐藏了一些复杂性。 如果我们在哪里...

    浅析PHP中call user func()函数及如何使用call user func调用自定义函数

    与`call_user_func()`不同,`call_user_func_array()`接受一个参数数组 `$param_arr`,它包含了传递给被调用函数的所有参数。这样,参数的结构更加清晰,特别是当参数数量不确定或者需要批量传递参数时非常有用: `...

Global site tag (gtag.js) - Google Analytics