call_user_func_array调用实例_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > call_user_func_array调用实例

call_user_func_array调用实例

 2012/4/15 1:21:21  abc123456789cba  程序员俱乐部  我要评论(0)
  • 摘要:在你引进某个类文件的情况下,想调用这个类文件的时call_user_func_array函数,下面根据参数不同,贴两个实例:PHP代码<?php$func=function($arg1,$arg2){return$arg1*$arg2;};var_dump(call_user_func_array($func,array(2,4)));/*AsofPHP5.0*/?>将输出:int(8)[1]?PHP代码<?ClassClassA{functionbc($b,$c)
  • 标签:all 实例
在你引进某个类文件的情况下,想调用这个类文件的时call_user_func_array函数,下面根据参数不同,贴两个实例:
PHP代码
<?php  
$func = function($arg1, $arg2) {  
return $arg1 * $arg2;  
};  
var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.0 */  
?>  
将输出:  
int(8) [1]?  

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_array这个函数在什么情况下用?当调用某个函数时,直接new调用就行了,不是多此一举吗?

call_user_func_array和new 类名不同的区别在于:all_user_func_array的第一个参数为array('类名','方法名')的话,系统会自动为该类创建对象来直行方法,但是却不会执行__construct构造方法,相当于调用静态方法 类名::函数名(参数)调用,而new 类名的时候,会先执行构造函数
发表评论
用户名: 匿名