Maison > Article > développement back-end > Comment appeler une fonction définie par l'utilisateur en PHP à l'aide de la fonction call user func()
Cet article présente principalement comment appeler la fonction user func() en PHP pour appeler des fonctions auto-définies. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
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 :
<?php function nowamagic($a,$b) { echo $a; echo $b; } call_user_func('nowamagic', "",""); call_user_func('nowamagic', "",""); //显示 ?>
Il est étrange d'appeler la méthode à l'intérieur de la classe. utilise un tableau. Je ne connais pas le développeur. Comment considérer, bien sûr, new est omis, ce qui est également assez innovant :
<?php class a { function b($c) { echo $c; } } call_user_func(array("a", "b"),""); //显示 ?>
La fonction call_user_func_array est très similaire à call_user_func, mais c'est juste. transmet les paramètres d'une manière différente, rendant la structure des paramètres plus claire :
<?php function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', array("", "")); //显示 ?>
La fonction call_user_func_array peut également appeler des méthodes à l'intérieur de la classe :
<?php Class ClassA { function bc($b, $c) { $bc = $b + $c; echo $bc; } } call_user_func_array(array('ClassA','bc'), array("", "")); //显示 ?>
La fonction call_user_func et la fonction call_user_func_array prend en charge les références, ce qui les rend plus cohérentes avec les appels de fonction ordinaires. Conformément à la fonction :
<?php function a($b) { $b++; } $c = ; call_user_func('a', $c); echo $c;//显示 call_user_func_array('a', array($c)); echo $c;//显示 ?> 另外,call_user_func函数和call_user_func_array函数都支持引用。 view sourceprint? <?php function increment(&$var) { $var++; } $a = ; call_user_func('increment', $a); echo $a; // call_user_func_array('increment', array(&$a)); // You can use this instead echo $a; // ?>
Ce qui suit présente comment utiliser call_user_func pour appeler une fonction personnalisée <.>
Utilisez la fonction call_user_func en passant une chaîne. Les fonctions peuvent appeler des fonctions personnalisées et prendre en charge des références.1.mixed call_user_func ( callable $callback [, Mixed $parameter [, Mixed $... ]] )
Appelle la personnalisation fournie par le premier paramètre Function , les paramètres suivants sont les paramètres de la fonction personnalisée, et le résultat de la fonction personnalisée est renvoyéfunction say($word) { echo $word; } call_user_func('say', 'hello world'); //hello world 当然也可以调用类中的方法: class A { function say($word = '') { echo $word; } } $a = new A(); //注意,必须是要实例化的,除非是static call_user_func(array($a, 'say'), 'hello world'); //hello world
2.mixed call_user_func_array ( callable $callback , array $param_arr )
En parlant de cela, les fonctions call_user_func_array et call_user_func ont les mêmes fonctions, mais il y a quelques différences lors de l'appel des paramètres :function a($word) { echo $word; } class A { function say($word = '') { echo $word; } } call_user_func_array('a', array('hello world')); //hello world $a = new A(); //注意,必须是要实例化的,除非是static call_user_func_array(array($a, 'say'), array('hello world')); //hello worldRésumé : Ce qui précède est tout le contenu de cet article, je j'espère que cela sera utile à l'apprentissage de chacun. Recommandations associées :
Utilisation et exemples de file d'attente de messages PHP
Utilisation et exemples de sémaphore PHP
Fonctions de mise à l'échelle et de découpe d'images PHP
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!