`
zccst
  • 浏览: 3315893 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

call_user_func_array和call_user_func函数的用法

    博客分类:
  • PHP
 
阅读更多
zccst转载

下面来和大家分享一下这个call_user_func_array和call_user_func函数的用法,另外附赠func_get_args()函数和func_num_args()函数,嘿嘿!!

1,call_user_func函数
call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:

第一种是调用孤独的函数:
<!--?
function funa($b,$c)
{
     echo $b;
     echo $c;
}
call_user_func('funa', "111","222");
call_user_func('funa', "333","444");
//显示 111 222 333 444

//大家有没有发现,这个用法有点像javascript中的call方法,嘿嘿
?-->


第二种是调用类内部的函数:
<!--?
class a {
    function b()
    {
    $args = func_get_args();
        $num = func_num_args();
        print_r($args);
        echo $num;
    }
}
call_user_func(array("a", "b"),"111","222");
?-->

上面这个例子,自己运行一下看看结果是什么吧~嘿嘿~提示一下func_get_args()函数是获取传入到函数中的参数,返回一个数组,func_num_args()函数获取传入函数中的参数的个数。


2,call_user_func_array函数
下面再来看看call_user_func_array函数
这个函数也是当需要动态调用函数时用到的,它的用法和call_user_func函数比较像,只是参数传入的是数组。
<!--?
function a($b, $c)
{
     echo $b;
     echo $c;
}
call_user_func_array('a', array("111", "222"));
//显示 111 222
?-->


call_user_func_array函数也可以调用类内部的方法的
<!--?
Class ClassA
{
function bc($b, $c) {
     $bc = $b + $c;
     echo $bc;
}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));
//显示 333
?-->


下面再看一个动态调用函数的例子:是从网上找来的:
<!--?
function otest1 ($a)
{
     echo( '一个参数' );
}


function otest2 ( $a, $b)
{
    echo( '二个参数' );
}


function otest3 ( $a ,$b,$c)
{
    echo( '三个啦' );
}
 
function otest (){
    $args = func_get_args();
    $num = func_num_args();
    call_user_func_array( 'otest'.$num, $args  );
}
otest("11");
otest("11","22");
otest("11","22","33");
?-->

呵呵~上面这个例子,还是你们自己运行一下,那样印象更加深刻~

转载地址:http://www.skygq.com/category/php/
分享到:
评论

相关推荐

    php自定义函数call_user_func和call_user_func_array详解

    总结来说,`call_user_func` 和 `call_user_func_array` 提供了一种动态调用函数和类方法的能力,它们使得在编程时能更加灵活地处理函数调用,特别是在处理未知或动态生成的函数名和参数列表时。它们是 PHP 中实现元...

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

    在PHP编程语言中,`call_user_func` 和 `call_user_func_array` 是两个非常重要的函数,它们用于动态地调用用户定义的函数或方法。这两个函数允许开发者在运行时根据需求执行不同的操作,增强了代码的灵活性和可扩展...

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

    php中call_user_func函数使用注意事项

    首先,call_user_func函数的最简单形式是传入一个函数名和参数。例如: ```php function a($b, $c) { echo $b . $c; } call_user_func('a', "111", "222"); ``` 上述代码会输出 "111222"。这个函数非常适合在...

    解析php中call_user_func_array的作用

    总结,`call_user_func_array` 在PHP中是一个非常实用的函数,它提供了动态调用函数和类方法的能力,尤其是在处理可变参数列表和需要灵活参数传递的场景中。理解和熟练使用此函数,可以显著提升代码的灵活性和可扩展...

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

    这里,我们传入了一个数组,其中包含了类名 `TestClass` 和方法名 `write`,`call_user_func_array()` 将会调用 `TestClass` 类的 `write` 方法,并传入字符串 `'NO.1 www.chhua.com'` 作为参数。 `call_user_func_...

    php代码-call_user_func and call_user_func_array

    在PHP编程语言中,`call_user_func` 和 `call_user_func_array` 是两个非常重要的函数,它们用于在运行时调用用户定义的函数或者方法。这两个函数为动态执行代码提供了便利,是PHP中的回调函数机制的重要组成部分。...

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

    在PHP编程语言中,`call_user_func()` 和 `call_user_func_array()` 是两个非常重要的回调函数,它们允许程序员以动态的方式调用其他函数或方法。这两个函数为代码提供了更大的灵活性,尤其是在处理回调、事件驱动...

    PHP回调函数简单用法示例

    call_user_func_array(callable $callback,array $param_arr)是以数组的形式接受回调函数和参数的。 call_user_func($callback, 参数1, 参数2)参数的个数是根据回调函数来决定的。 下面是一些常见的回调函数使用的...

    php通过字符串调用函数示例

    本文将深入探讨两种主要的通过字符串调用函数的方法:`call_user_func` 和 `call_user_func_array`。 1. **call_user_func 函数** `call_user_func` 是一个内置函数,它允许我们使用字符串作为函数名来执行函数。...

Global site tag (gtag.js) - Google Analytics