• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP 函数call_user_func和call_user_func_array用法详解_php技巧

php 搞代码 3年前 (2022-01-26) 23次浏览 已收录 0个评论

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

<?php<BR>function funa($b,$c)<BR>{<BR>    echo $b;<BR>    echo $c;<BR>}<BR>call_user_func('funa', "111","222");<BR>call_user_func('funa', "333","444");<BR>//显示 111 222 333 444<BR>//大家有没有发现,这个用法有点像javascript中的call方法,嘿嘿<BR>?>


第二种是调用类内部的函数:

<?php<BR>class a {<BR>    function b()<BR>    {<BR>        $args = func_get_args();<BR>        $num = func_num_args();<BR>        print_r($args);<BR>        echo $num;<BR>    }<BR>}<BR>call_user_func(array("a", "b"),"111","222");<BR>?>


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

下面再来看看call_user_func_array函数
这个函数也是当需要动态调用函数时用到的,它的用法和call_user_func函数比较像,只是参数传入的是数组。

<?php<BR>function a($b, $c)<BR>{<BR>    echo $b;<BR>    echo $c; <BR>}<BR>call_user_func_array('a', array("111", "222"));<BR>//显示 111 222<BR>?>

call_user_func_array函数也可以调用类内部的方法的

<?php<BR>Class ClassA<BR>{<BR>    function bc($b, $c) {</P><P>        $bc = $b + $c;<BR>        echo $bc;<BR>    }</P><P>}<BR>call_user_func_array(array(‘ClassA','bc'), array(“111″, “222″));<BR>//显示 333<BR>?>


下面再看一个动态调用函数的例子:

<?php<BR>function otest1 ($a)<BR>{<BR>     echo( <div style="color:transparent">本文来源gaodai.ma#com搞##代!^码@网*</div><pre>搞gaodaima代码

‘一个参数’ );
}

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”);
?>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 函数call_user_func和call_user_func_array用法详解_php技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址