Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon d'appeler des instances de fonctions définies par l'utilisateur en PHP

Explication détaillée de la façon d'appeler des instances de fonctions définies par l'utilisateur en PHP

伊谢尔伦
伊谢尔伦original
2017-06-26 09:20:291435parcourir

Ce qui suit est une analyse détaillée et une introduction à la méthode d'appel des fonctions définies par l'utilisateur en PHP Les amis qui en ont besoin peuvent venir s'y référer

Mettons. un exemple d'abord :
La fonction call_user_func est similaire à une méthode spéciale d'appel d'une fonction. La méthode d'utilisation est la suivante : >, je ne sais pas ce que les développeurs en pensent. est omis, ce qui est également plein de nouveauté :

function a($b,$c)    
{    
echo $b;    
echo $c;    
}    
call_user_func('a', "111","222");    
call_user_func('a', "333","444");    
//显示 111 222 333 444

La fonction call_user_func_array est très similaire à call_user_func, sauf que les paramètres sont passés d'une manière différente , ce qui rend la structure des paramètres plus claire :

La fonction call_user_func_array peut également appeler des méthodes à l'intérieur de la classe
class
 a {    
function b($c)    
{    
echo $c;    
}    
}    
call_user_func(array("a", "b"),"111");    
//显示 111

La fonction call_user_func et la fonction call_user_func_array prennent en charge les
function a($b, $c)    
{    
echo $b;    
echo $c;    
}    
call_user_func_array('a', array("111", "222"));    
//显示 111 222
références

, ce qui les rend plus fonctionnellement cohérentes avec la fonction ordinaire appels :

Class ClassA    
{    
function bc($b, $c) {    
     $bc = $b + $c;    
echo $bc;    
}    
}    
call_user_func_array(array('ClassA','bc'), array("111", "222"));    
//显示 333

Également : la fonction call_user_func et la fonction call_user_func_array prennent en charge les références.

function a($b)    
{    
$b++;    
}    
$c = 0;    
call_user_func('a', $c);    
echo $c;//显示 1    
call_user_func_array('a', array($c));    
echo $c;//显示 2

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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