call_user_func 小灰灰 2022-01-16 03:09 208阅读 0赞 [2019独角兽企业重金招聘Python工程师标准>>> ][2019_Python_] ![hot3.png][] ## 函数说明 ## (PHP 4中,PHP 5中) call\_user\_func - 返回一个自定义用户函数给出的第一个参数 ## 函数定义 ## mixed call\_user\_func(回调 函数名 \[,混合 参数 \[,混合$ ...\]\]) 调用用户定义函数来确定函数参数。 ### 功能 ### 该函数被调用。类方法也可以使用静态调用传递数组array($classname, $methodname) 这个参数此功能。另外一个对象的实例可以被称为类方法通过传递数组array($objectinstance, $methodname) 这个参数。 ### 参数 ### 零个或多个参数传递给函数。 注意: 对于call\_user\_func(参数)不按引用传递。 ## 实例说明 ## 例-1 <?php error\_reporting(E\_ALL); function increment(&$var) \{ $var++; \} $a = 0; call\_user\_func('increment', $a); echo $a."\\n"; call\_user\_func\_array('increment', array(&$a)); // You can use this instead before PHP 5.3 echo $a."\\n"; ?> 输出: 0 1 例-2 <?php function barber($type) \{ echo "You wanted a $type haircut, no problem\\n"; \} call\_user\_func('barber', "mushroom"); call\_user\_func('barber', "shave"); ?> 输出: You wanted a mushroom haircut, no problem You wanted a shave haircut, no problem ## 实例 ## 实例应用 call\_user\_func函数类似于一种特别的调用函数的方法,使用方法如下: 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,不知道开发者是如何考虑的,当然省去了new,也是满有新意的: class a \{ function b($c) \{ echo $c; \} \} call\_user\_func(array("a", "b"),"111"); //显示 111 ?> 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 ?> 转载于:https://my.oschina.net/u/919580/blog/135358 [2019_Python_]: https://my.oschina.net/u/2663968/blog/3061697 [hot3.png]: /images/20220114/0e99cdb29db94b69960b90531ff07dc9.png
还没有评论,来说两句吧...