Les fonctions anonymes, également appelées fermetures, sont un mécanisme pris en charge par PHP pour définir dynamiquement les fonctions lors de l'exécution. Ce type de fonction n'a pas de nom et peut être directement attribué aux variables, transmis sous forme de paramètres ou utilisés pour les rappels et autres scénarios. Il est très courant dans la programmation PHP moderne.
La syntaxe de base pour définir les paramètres de réception de la fonction anonyme dans PHP est la suivante:
function($argument1, $argument2, ..., $argumentN) {
// Corps de fonction
}
Vous pouvez transmettre n'importe quel nombre de paramètres aux fonctions anonymes comme les fonctions régulières.
Les paramètres des fonctions anonymes peuvent être passés de deux manières: par valeur et par référence.
Lorsqu'il est passé par valeur, les modifications des paramètres à l'intérieur de la fonction n'affecteront pas les variables externes.
// Passer par valeur
$increment = function($number) {
return $number + 1;
};
echo $increment(5); // Sortir:6
Passez par référence, le Symbole est utilisé et les modifications des paramètres à l'intérieur de la fonction seront réfléchies de manière synchrone à l'extérieur de la fonction.
// Passer par référence
$double = function(&$number) {
$number *= 2;
};
$value = 4;
$double($value);
echo $value; // Sortir:8
L'application pratique des fonctions anonymes est très répandue, et les éléments suivants sont deux exemples pour illustrer leurs utilisations courantes.
Combinant la fonction Array_Filter , en utilisant des fonctions anonymes, filtrez rapidement les éléments dans un tableau qui remplit des conditions spécifiques:
$numbers = array(1, 2, 3, 4, 5);
$evenNumbers = array_filter($numbers, function($number) {
return $number % 2 == 0;
});
print_r($evenNumbers);
// Sortir:Array ( [1] => 2 [3] => 4 )
Les fonctions anonymes peuvent également être utilisées dans des applications avancées telles que le traitement des caractères:
$string = "Hello, world!";
$lengthWithoutSpaces = 0;
array_walk(str_split($string), function($character) use (&$lengthWithoutSpaces) {
if (ord($character) != 32) {
$lengthWithoutSpaces++;
}
});
echo $lengthWithoutSpaces; // Sortir:12
Les fonctions anonymes de PHP sont non seulement syntaxées, mais aussi puissantes. Ils prennent en charge les méthodes de passage des paramètres flexibles et peuvent utiliser des valeurs ou des références entrantes directement à l'intérieur des fonctions, ce qui est d'une grande aide pour améliorer la lisibilité et la modularité du code. Dans le développement quotidien, la maîtrise de l'utilisation des fonctions anonymes est une partie importante de la rédaction du code PHP efficace.