Menu
CoddyTech

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.

challenge icon

Défi

Facile

Lisez deux lignes d’entrée :

  1. Un prix sous forme de nombre décimal (par exemple, 49.99)
  2. 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 :

  • $price de type float
  • $discountPercent de type int

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 :

75

Exemple 2 :

Si les entrées sont 49.99 et 10, la sortie doit être :

44.991

Exemple 3 :

Si les entrées sont 200.50 et 50, la sortie doit être :

100.25

Essayez 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);
?>
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur PHP en ligne