Déclarations du type de retour
Fait partie de la section Fondamentaux du Journey PHP de Coddy. Leçon 66 sur 71.
Tout comme vous pouvez déclarer les types des paramètres, vous pouvez également spécifier quel type une function doit return. Les déclarations de type de return indiquent précisément à PHP quel type de valeur votre function renverra, ce qui aide à détecter les erreurs lorsqu’une function renvoie accidentellement le mauvais type.
Pour ajouter un type de retour, placez deux-points suivis du type après la parenthèse fermante de la liste des paramètres :
<?php
function add(int $a, int $b): int {
return $a + $b;
}
echo add(5, 3);
?>Cela affiche 8. Le : int après les parenthèses déclare que cette fonction doit retourner un entier. Si vous essayiez de retourner une chaîne à la place, PHP générerait une erreur.
Vous pouvez utiliser les mêmes types que pour les déclarations de paramètres : int, float, string, bool et array. Il existe également un type spécial appelé void pour les fonctions qui ne renvoient rien :
<?php
function sayHello(string $name): void {
echo "Hello, $name!\n";
}
sayHello("Alice");
?>Une fonction void ne peut pas contenir d’instruction return avec une valeur. La combinaison des types de paramètres et des types de retour rend vos fonctions auto-documentées : toute personne qui lit le code sait immédiatement ce qui y entre et ce qui en sort.
Défi
FacileLisez deux lignes d’entrée :
- Un prix sous forme de nombre décimal (par exemple,
49.99) - Un pourcentage de remise sous forme de nombre entier (par exemple,
20)
Créez une fonction appelée calculateFinalPrice qui accepte deux paramètres avec des déclarations de type :
$pricede typefloat$discountPercentde typeint
La fonction doit avoir une déclaration de type de retour float et doit renvoyer le prix final après application de la remise.
Appelez la fonction avec les valeurs saisies et affichez le résultat renvoyé.
Exemple 1 :
Si les entrées sont 100.00 et 25, la sortie doit être :
75Exemple 2 :
Si les entrées sont 49.99 et 10, la sortie doit être :
44.991Exemple 3 :
Si les entrées sont 200.50 et 50, la sortie doit être :
100.25Essayez vous-même
<?php
// Lire l'entrée
$price = floatval(fgets(STDIN));
$discountPercent = intval(fgets(STDIN));
// TODO: Créer une fonction appelée calculateFinalPrice avec :
// - Paramètre $price avec déclaration de type float
// - Paramètre $discountPercent avec déclaration de type int
// - Déclaration de type de retour float
// La fonction doit retourner le prix final après application de la remise
// Appeler la fonction et afficher le résultat
echo calculateFinalPrice($price, $discountPercent);
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînesEntraînez-vous par vous-même : Compilateur PHP en ligne