Fonctions variables
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 6 sur 68.
Les fonctions variables offrent un autre moyen d'appeler des fonctions de manière dynamique en PHP. Au lieu d'utiliser call_user_func(), vous pouvez appeler directement une fonction en traitant une variable contenant le nom de la fonction comme s'il s'agissait de la fonction elle-même.
La syntaxe est simple : si vous avez une variable contenant un nom de fonction, vous pouvez appeler cette fonction en ajoutant des parenthèses à la variable :
<?php
function sayHello() {
echo "Hello World!";
}
$functionName = "sayHello";
$functionName(); // Affiche : Hello World!
?>Cela fonctionne également avec des fonctions qui acceptent des paramètres. Il vous suffit de passer les arguments à l'intérieur des parenthèses :
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
$func = "greet";
$func("Alice"); // Affiche : Hello, Alice!
?>Les fonctions variables offrent un moyen propre et intuitif d'exécuter du code de manière dynamique. Cette fonctionnalité est particulièrement utile lorsque vous devez appeler différentes fonctions en fonction de conditions ou de la saisie de l'utilisateur, rendant votre code plus flexible et adaptable.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
FacileCréez trois fonctions : calculateArea qui prend deux nombres (la longueur et la largeur) et retourne leur produit, calculatePerimeter qui prend deux nombres et retourne deux fois leur somme, et calculateDiagonal qui prend deux nombres et retourne la racine carrée de la somme de leurs carrés.
Vous recevrez trois entrées : le nom de l'opération ("area", "perimeter", ou "diagonal"), la longueur et la largeur. Lisez les trois entrées, stockez le nom de la fonction dans une variable, appelez cette fonction en utilisant la syntaxe des fonctions variables avec les deux mesures, et affichez le résultat.
Format d'entrée : Trois lignes - la première ligne contient le nom de l'opération, la deuxième ligne contient la longueur (un nombre qui peut contenir des décimales), la troisième ligne contient la largeur (un nombre qui peut contenir des décimales)
Résultat attendu : Le résultat du calcul
Aide-mémoire
Les fonctions variables vous permettent d'appeler des fonctions de manière dynamique en traitant une variable contenant le nom de la fonction comme la fonction elle-même.
Syntaxe de base - ajoutez des parenthèses à une variable contenant un nom de fonction :
<?php
function sayHello() {
echo "Hello World!";
}
$functionName = "sayHello";
$functionName(); // Outputs: Hello World!
?>Les fonctions variables fonctionnent également avec des paramètres :
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
$func = "greet";
$func("Alice"); // Outputs: Hello, Alice!
?>Essayez vous-même
<?php
// Lire les entrées
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));
// TODO: Créer les trois fonctions ici (calculateArea, calculatePerimeter, calculateDiagonal)
// TODO: Appeler la fonction appropriée en utilisant la syntaxe de fonction variable et stocker le résultat
// Afficher le résultat
echo $result;
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classement