PHP 中 call_user_func 的使用

本文详细介绍了PHP中的call_user_func及call_user_func_array函数的使用方法,包括如何通过这两种方式调用自定义函数和类方法,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

call_user_func函数类似于一种特别的调用函数的方法,使用方法如下

  • 第一种情况:
function set_max($a,$b)  
{
   if($a>$b)
     echo $a;
   else
    echo $b;
}
call_user_func('set_max', "111","222");//结果为222

此时 第一个参数 set_max 作为call_user_func 的回调函数使用,$a=111,$b=222

  • 第二种情况
class a
{
    function b($c)
    {
        echo $c ;
    }
}
$num = 200 ;
call_user_func(array('a','b'),$num);//结果为200

此时第一个参数为一个数组 那么 回调就是 a类里面的b方法,num作为参数传到b方法里面。省去了实例化a的过程。
说到这里就不得不再看看 call_user_func_array, 其实call_user_func_arraycall_user_func 类似 使用如下:

function set_max($a,$b)
{ 
   if($a>$b) 
      echo $a;
   else 
      echo $b; 
}
 call_user_func_array('set_max',array(111,222));
 //结果222

call_user_func 看起来直观一点。 而call_user_func_array 对类里面方法的使用则如下:

class test
{
    function set_max($a,$b)
   {
       if($a>$b)
          echo $a;
       else 
         echo $b;
   }
}
call_user_func_array(array('test','set_max'),array(111,222));
//结果同样为222
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值