Cast to Different Types
Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 14 de 71.
Para convertir la entrada a un tipo diferente, necesitamos hacer un cast. Para hacer cast de una cadena a un int (un número entero), escribiremos:
$var = trim(fgets(STDIN));
$var = (int)$var;O en una línea:
$var = (int)trim(fgets(STDIN));Si la entrada es un número, es decir, 5, 4, 54, entonces $var contendrá un número. Si la entrada contiene un número inválido: 5ab, bb, akt, etc., entonces PHP convertirá lo que pueda (p. ej., "5ab" se convierte en 5, "bb" se convierte en 0).
Aquí tienes una tabla que muestra cómo realizar casting a diferentes tipos:
| Casting | Explicación |
| (int) | Convertir a un número entero |
| (float) | Convertir a un número real |
| (bool) | Convertir a un booleano |
| (string) | Convertir a una cadena |
Es importante usar el tipo correcto porque puede afectar la salida.
Sumar dos cadenas resultará en:
"5" + "5" = 10(PHP convierte las cadenas a números para operaciones aritméticas)
La concatenación de dos cadenas resultará en:
"5" . "5" = “55”
Desafío
Tu tarea:
- Lee el primer número de la entrada y guárdalo en una variable
- Lee el segundo número de la entrada y guárdalo en otra variable
- Convierte la segunda variable al tipo int
- Calcula la multiplicación de estos dos números
- Imprime el resultado
Ejemplo:
Si las entradas son 2 y 4.5, tu programa debe producir 8 porque 4.5 se convierte en 4
Hoja de referencia
Para hacer cast (convertir) un valor a un tipo diferente en PHP, utilice la sintaxis de casting:
$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 stringHaciendo casting de la entrada desde STDIN a un entero:
$var = trim(fgets(STDIN));
$var = (int)$var;O en una sola línea:
$var = (int)trim(fgets(STDIN));Al hacer casting de cadenas a enteros, PHP convierte lo que puede. Los caracteres inválidos se ignoran:
"5ab"se convierte en5"bb"se convierte en0"4.5"se convierte en4
El tipo afecta las operaciones:
- Aritmética con cadenas:
"5" + "5" = 10(PHP auto-convierte a números) - Concatenación:
"5" . "5" = "55"
Pruébalo tú mismo
<?php
// Leer entrada
$firstNumber = ?;
$secondNumber = ?;
// Convertir $secondNumber a int
// Calcular el resultado
$result = ?;
echo $result;
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
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