Cast to Different Types
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 14 sur 71.
Pour convertir l'entrée en un type différent, nous devons caster. Pour caster une chaîne en un int (un nombre entier), nous écrirons :
$var = trim(fgets(STDIN));
$var = (int)$var;Ou en une seule ligne :
$var = (int)trim(fgets(STDIN));Si l'entrée est un nombre, c'est-à-dire 5, 4, 54 alors $var contiendra un nombre. Si l'entrée contient un nombre invalide : 5ab, bb, akt, etc. alors PHP convertira ce qu'il peut (p. ex., "5ab" devient 5, "bb" devient 0).
Voici un tableau qui montre comment caster vers différents types :
| Cast | Explication |
| (int) | Convertir vers un nombre entier |
| (float) | Convertir vers un nombre réel |
| (bool) | Convertir vers un booléen |
| (string) | Convertir vers une chaîne |
Il est important d'utiliser le bon type car cela peut affecter la sortie.
L'ajout de deux chaînes de caractères donnera :
"5" + "5" = 10(PHP convertit les chaînes en nombres pour les opérations arithmétiques)
Concaténer deux chaînes de caractères donnera :
"5" . "5" = “55”
Défi
Votre tâche :
- Lire le premier nombre depuis l'entrée et le stocker dans une variable
- Lire le deuxième nombre depuis l'entrée et le stocker dans une autre variable
- Convertir la seconde variable en type int
- Calculer la multiplication de ces deux nombres
- Afficher le résultat
Exemple :
Si les entrées sont 2 et 4.5, votre programme devrait afficher 8 car 4.5 est converti en 4
Aide-mémoire
Pour caster (convertir) une valeur vers un type différent en PHP, utilisez la syntaxe de cast :
$var = (int)$value; // Cast to integer (whole number)
$var = (float)$value; // Cast to float (real number)
$var = (bool)$value; // Cast to boolean
$var = (string)$value; // Cast to stringCaster l'entrée de STDIN vers un entier :
$var = trim(fgets(STDIN));
$var = (int)$var;Ou en une ligne :
$var = (int)trim(fgets(STDIN));Lors du cast de chaînes vers des entiers, PHP convertit ce qu'il peut. Les caractères invalides sont ignorés :
"5ab"devient5"bb"devient0"4.5"devient4
Le type affecte les opérations :
- Arithmétique avec des chaînes :
"5" + "5" = 10(PHP convertit automatiquement en nombres) - Concaténation :
"5" . "5" = "55"
Essayez vous-même
<?php
// Lire l'entrée
$firstNumber = ?;
$secondNumber = ?;
// Convertir $secondNumber en int
// Calculer le résultat
$result = ?;
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 Fondamentaux
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators