Cast to Different Types
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy — Lektion 14 von 71.
Um die Eingabe in einen anderen Typ umzuwandeln, müssen wir casten. Um einen String zu einem int (einer Ganzzahl) zu casten, schreiben wir:
$var = trim(fgets(STDIN));
$var = (int)$var;Oder in einer Zeile:
$var = (int)trim(fgets(STDIN));Wenn die Eingabe eine Zahl ist, z. B. 5, 4, 54, dann enthält $var eine Zahl. Wenn die Eingabe eine ungültige Zahl enthält: 5ab, bb, akt usw., dann konvertiert PHP so viel wie möglich (z. B. „5ab“ wird zu 5, „bb“ wird zu 0).
Hier ist eine Tabelle, die zeigt, wie zu verschiedenen Typen gecastet wird:
| Cast | Erklärung |
| (int) | In eine ganze Zahl umwandeln |
| (float) | In eine Fließkommazahl umwandeln |
| (bool) | In einen booleschen Wert umwandeln |
| (string) | In einen String umwandeln |
Es ist wichtig, den richtigen Typ zu verwenden, da er die Ausgabe beeinflussen kann.
Das Addieren zweier Strings ergibt:
"5" + "5" = 10(PHP konvertiert Strings zu Zahlen für arithmetische Operationen)
Die Verkettung zweier Strings ergibt:
"5" . "5" = “55”
Aufgabe
Deine Aufgabe:
- Lese die erste Zahl aus der Eingabe und speichere sie in einer Variable
- Lese die zweite Zahl aus der Eingabe und speichere sie in einer anderen Variable
- Konvertiere die zweite Variable zum int-Typ
- Berechne das Produkt dieser beiden Zahlen
- Gib das Ergebnis aus
Beispiel:
Wenn die Eingaben 2 und 4.5 sind, sollte dein Programm 8 ausgeben, weil 4.5 in 4 umgewandelt wird
Spickzettel
Um in PHP einen Wert in einen anderen Typ umzuwandeln (casten), verwenden Sie die Casting-Syntax:
$var = (int)$value; // Cast zu Integer (ganze Zahl)
$var = (float)$value; // Cast zu Float (Gleitkommazahl)
$var = (bool)$value; // Cast zu Boolean
$var = (string)$value; // Cast zu StringDas Casten von Eingaben aus STDIN zu einem Integer:
$var = trim(fgets(STDIN));
$var = (int)$var;Oder in einer Zeile:
$var = (int)trim(fgets(STDIN));Beim Casten von Strings zu Integers wandelt PHP um, was es kann. Ungültige Zeichen werden ignoriert:
"5ab"wird zu5"bb"wird zu0"4.5"wird zu4
Der Typ beeinflusst Operationen:
- Arithmetik mit Strings:
"5" + "5" = 10(PHP konvertiert automatisch zu Zahlen) - Konkatenation:
"5" . "5" = "55"
Probier es selbst
<?php
// Eingabe lesen
$firstNumber = ?;
$secondNumber = ?;
// Konvertiere $secondNumber zu int
// Berechne das Ergebnis
$result = ?;
echo $result;
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
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