Maison  >  Article  >  développement back-end  >  call_user_func_array调用实例

call_user_func_array调用实例

巴扎黑
巴扎黑original
2016-11-23 14:09:011318parcourir

在你引进某个类文件的情况下,想调用这个类文件的时call_user_func_array函数,下面根据参数不同,贴两个实例: 

<?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]‍    

<?    
Class ClassA    
{    
    
function bc($b, $c) {    
     $bc = $b + $c;    
echo $bc;    
}    
}    
call_user_func_array(array(&#39;ClassA&#39;,&#39;bc&#39;), array("111", "222"));    
    
//显示 333    
?>


第一个参数:类名,函数。第二个函数:传入参数 

或许你会这样问:call_user_func_array这个函数在什么情况下用?当调用某个函数时,直接new调用就行了,不是多此一举吗? 

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


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:php对象接口Article suivant:php--抽象类