Je suis en PHP 8.2+.
Je fais cette fonction - qui n'a aucun intérêt intrinsèque - uniquement pour tester le concept du typage d'une valeur de retour.
Je pense que mes commentaires suffisent à comprendre ma question : pourquoi 9, un entier en entrée ne provoque pas d'erreur mais est transformé en string ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php function from_digit_to_string(integer $input_number):string{ $chiffres = ['zéro', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept']; if($input_number < count($chiffres)){ return $chiffres[$input_number]; } return $input_number; } echo from_digit_to_string(2);//deux echo from_digit_to_string(9);//9 est transformé en string alors que je m'attendais à une erreur fatale. ?>
Je pensais que je serais obligée de mettre return strval($input_number); pour respecter le type de la valeur de retour.
Partager