Dans le développement de PHP, la conception des paramètres des fonctions est très flexible, et deux paramètres spéciaux sont particulièrement courants: paramètres de quantité variable ... $ var et fonction de rappel callable . Ils sont utilisés pour gérer le nombre incertain de paramètres et passer la logique de rappel exécutable dans la fonction, respectivement.
Le nombre variable de paramètres permet à une fonction de recevoir n'importe quel nombre de paramètres et de stocker automatiquement ces paramètres sous forme de tableau. De cette façon, les développeurs n'ont pas besoin de définir le nombre spécifique de paramètres à l'avance, ce qui est très pratique lorsqu'il s'agit d'une accumulation et d'une agrégation similaires.
<?php function sum(...$numbers) { $total = 0; foreach ($numbers as $number) { $total += $number; } return $total; } echo sum(1, 2, 3, 4, 5); // Sortir: 15 ?>
Dans l'exemple ci-dessus, la somme de fonction utilise un paramètre variable ... $ nombres , qui peuvent recevoir plusieurs nombres à la fois et calculer la somme.
Le paramètre de la fonction de rappel Callable permet à la fonction de recevoir une fonction comme un argument et de l'appeler en cas de besoin. Généralement utilisé pour les scènes où le filtrage, le tri ou la personnalisation de la logique de traitement.
<?php function filterArray(array $array, callable $callback) { $filteredArray = []; foreach ($array as $element) { if ($callback($element)) { $filteredArray[] = $element; } } return $filteredArray; } $callback = function ($value) { return $value > 10; }; $ filteredArray = filterArray ([1, 2, 10, 15, 20], $ rappel); print_r ($ filteredArray); // Sortie: [15, 20] ?>
La fonction FilterArray reçoit ici un tableau et une fonction de rappel. La fonction de rappel est utilisée pour déterminer si les éléments du tableau remplissent les conditions, réalisant ainsi des opérations de filtrage flexibles.
En utilisant ces deux types de paramètres raisonnablement, les fonctions PHP peuvent être plus évolutives et flexibles, offrant aux développeurs des capacités de réutilisation de code plus fortes.