Pour utiliser des fonctions comme rappels en PHP, vous pouvez utiliser des fonctions anonymes ou des fonctions nommées. La syntaxe de la fonction anonyme est : $callback = function ($argument) { return $result }. Les fonctions nommées ont des noms et sont définies comme des fonctions normales. Les fonctions intégrées couramment utilisées acceptent les rappels comme paramètres, tels que array_map(), array_filter(), usort(). Dans des cas pratiques, vous pouvez utiliser des fonctions de rappel pour définir des règles de validation personnalisées et les transmettre à la fonction de vérification, comme le rappel de vérification par e-mail : function validateEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL });
Comment utiliser des fonctions comme rappels en PHP
Une fonction de rappel est une fonction qui est appelée dans une autre fonction. En PHP, vous pouvez utiliser des fonctions anonymes (fermetures) ou des fonctions nommées comme rappels.
Utilisez des fonctions anonymes comme rappels
Les fonctions anonymes sont des fonctions sans nom qui peuvent être créées en cas de besoin. Pour créer une fonction anonyme, utilisez la syntaxe suivante :
$callback = function ($argument) { return $result; };
Par exemple, créez une fonction de rappel qui ajoute 5 à un nombre :
$add5 = function ($num) { return $num + 5; };
Utilisez une fonction nommée comme rappel
Une fonction nommée est une fonction qui a un nom et peut être utilisé comme une fonction régulière Même définition. Pour utiliser une fonction nommée comme rappel, donnez un nom à la fonction.
Par exemple, créez une fonction de rappel qui met un nombre au carré et ajoute 10 :
function squareAndAdd10($num) { return $num * $num + 10; }
Appelle une fonction qui utilise un rappel
Certaines fonctions intégrées acceptent les rappels comme arguments, par exemple :
array_map()</ code> : applique le rappel à chaque élément du tableau</li><code>array_map()
: 将回调应用于数组中的每个元素array_filter()
: 过滤数组元素,根据回调的结果返回 TRUE 或 FALSEusort()
: 根据回调中定义的排序条件对数组进行排序例如,使用 array_map()
将 $add5
回调应用到数组 $numbers
:
$numbers = [1, 2, 3, 4, 5]; $result = array_map($add5, $numbers);
此时,$result
将包含 [6, 7, 8, 9, 10]
。
实战案例
使用回调函数的一个常见例子是添加自定义验证规则。假设你有一个处理表单的函数,你想验证表单字段的值。你可以使用回调来定义自定义验证规则,并将该规则传递给验证函数。
例如,创建一个回调来验证 email 地址:
function validateEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL); }
然后,你可以将此回调传递给表单验证函数:
$validator = new FormValidator(); $validator->addRule('email', 'validateEmail');
现在,FormValidator
将会使用 validateEmail
array_filter()
: filtre les éléments du tableau en renvoyant VRAI ou FAUX selon le résultat de le rappel
usort()
: Trie le tableau selon les conditions de tri définies dans le rappel🎜Par exemple, utilisez array_map() pour ajouter <code>$add5
Le rappel est appliqué au tableau $numbers
:🎜rrreee🎜À ce stade, $result
contiendra [6, 7, 8, 9, 10]. 🎜🎜🎜Cas pratique🎜🎜🎜Un exemple courant d'utilisation de fonctions de rappel consiste à ajouter des règles de validation personnalisées. Disons que vous disposez d'une fonction qui gère un formulaire et que vous souhaitez valider la valeur d'un champ de formulaire. Vous pouvez utiliser des rappels pour définir des règles de validation personnalisées et transmettre cette règle à la fonction de validation. 🎜🎜Par exemple, créez un rappel pour valider une adresse email : 🎜rrreee🎜Vous pouvez ensuite transmettre ce rappel à la fonction de validation du formulaire : 🎜rrreee🎜Maintenant, FormValidator
utilisera validateEmail code> Rappel pour vérifier l’adresse e-mail. 🎜
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!