Avec le développement de la technologie Internet, PHP est devenu l'un des langages importants pour le développement de sites Web. Dans le développement PHP, la fonction de rappel est une fonctionnalité très importante du langage et est souvent utilisée. Cet article présentera l'utilisation et l'écriture de rappels en PHP.
1. Qu'est-ce qu'une fonction de rappel
Une fonction de rappel fait référence au fait de transmettre le nom de la fonction en tant que paramètre à une autre fonction dans un appel de fonction. Lorsque la fonction est appelée, le nom de la fonction transmis sera utilisé dans la fonction. En termes simples, une fonction de rappel est une fonction qui est passée en paramètre à une autre fonction.
2. Scénarios d'utilisation de la fonction de rappel
Les fonctions de rappel sont largement utilisées en PHP et sont principalement utilisées dans les trois aspects suivants :
Dans la programmation événementielle, une certaine fonction est souvent nécessaire dans un certain Exécuté automatiquement lorsqu'un événement se produit. Une telle fonction peut être appelée fonction de rappel. Par exemple, la fonction de liaison d'événement dans jquery n'appellera la fonction de rappel que lorsque l'événement se produit.
En PHP, la fonction de tri a deux paramètres principaux, qui sont le tableau trié et une fonction de comparaison. La fonction de comparaison est une fonction de rappel utilisée pour définir comment comparer les éléments du tableau en fonction des exigences. Par exemple, les fonctions usort() et uasort() utilisent des fonctions de rappel pour comparer les éléments d'un tableau.
Lorsque nous écrivons une fonction générale, nous avons souvent besoin d'appeler dynamiquement différentes fonctions. À ce stade, nous pouvons utiliser des fonctions de rappel.
3. Comment écrire la fonction de rappel
Il existe deux façons de transmettre la fonction de rappel en PHP : la fonction anonyme et le nom de la fonction de rappel. Ci-dessous, nous présenterons respectivement ces deux méthodes d'écriture :
Après la version PHP5.3, la prise en charge des fonctions anonymes a été ajoutée et les fonctions anonymes peuvent être définies directement lors de l'appel de la fonction. Voici un exemple de code pour une fonction anonyme :
function array_sort($arr, $compare_func) { usort($arr, $compare_func); return $arr; } //仅使用一次的函数可以通过匿名函数来定义 $sorted_array = array_sort($arr, function($a, $b){ return strcmp($a->name, $b->name); });
Dans le code ci-dessus, la fonction anonyme est passée directement en paramètre à la fonction array_sort.
Le nom de la fonction de rappel peut être une chaîne ou un tableau.
(1) Le nom de la fonction de rappel est une chaîne
Lorsque le nom de la fonction de rappel est une chaîne, l'avantage est qu'elle est simple et facile à utiliser. Voici un exemple de code lorsque la fonction de rappel est nommée une chaîne :
function my_callback_function() { echo 'hello world!'; } call_user_func('my_callback_function');
Dans le code ci-dessus, nous avons appelé la fonction my_callback_function() via la fonction call_user_func().
(2) La fonction de rappel est nommée un tableau
Lorsque la fonction de rappel est nommée un tableau et que le premier élément est une instance d'un objet, le deuxième élément doit être une méthode publique de cet objet. Voici un exemple de code lorsque la fonction de rappel est nommée tableau :
class MyClass { public static function myCallbackMethod() { echo 'Hello World!'; } } call_user_func(array('MyClass', 'myCallbackMethod'));
Dans le code ci-dessus, nous appelons la méthode myCallbackMethod de la classe MyClass via la fonction call_user_func().
4. Notes sur les fonctions de rappel
Résumé
La fonction de rappel est une fonctionnalité de langage très couramment utilisée en PHP et peut être utilisée dans des scénarios tels que le traitement d'événements, le tri et les appels dynamiques. Les fonctions anonymes et les noms de fonctions de rappel sont deux méthodes d'écriture couramment utilisées. En utilisant PHP, nous pouvons définir et utiliser des fonctions de rappel très facilement.
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!