Cast to Different Types
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 14 de 71.
Para converter a entrada para um tipo diferente, precisamos fazer um cast. Para fazer um cast de uma string para um int (um número inteiro), escreveremos:
$var = trim(fgets(STDIN));
$var = (int)$var;Ou em uma linha:
$var = (int)trim(fgets(STDIN));Se a entrada for um número, ou seja, 5, 4, 54, então $var conterá um número. Se a entrada contiver um número inválido: 5ab, bb, akt, etc., então o PHP converterá o que puder (p. ex., "5ab" se torna 5, "bb" se torna 0).
Aqui está uma tabela que mostra como converter para diferentes tipos:
| Conversão | Explicação |
| (int) | Converter para um número inteiro |
| (float) | Converter para um número real |
| (bool) | Converter para um booleano |
| (string) | Converter para uma string |
É importante usar o tipo correto porque isso pode afetar a saída.
Adicionar duas strings resultará em:
"5" + "5" = 10(O PHP converte strings em números para operações aritméticas)
A concatenação de duas strings resultará em:
"5" . "5" = “55”
Desafio
Sua tarefa:
- Leia o primeiro número da entrada e armazene-o em uma variável
- Leia o segundo número da entrada e armazene-o em outra variável
- Converta a segunda variável para o tipo int
- Calcule a multiplicação desses dois números
- Imprima o resultado
Exemplo:
Se as entradas forem 2 e 4.5, seu programa deve produzir a saída 8 porque 4.5 é convertido em 4
Folha de consulta
Para fazer cast (converter) um valor para um tipo diferente em PHP, use a sintaxe de casting:
$var = (int)$value; // Converte para inteiro (número inteiro)
$var = (float)$value; // Converte para float (número real)
$var = (bool)$value; // Converte para booleano
$var = (string)$value; // Converte para stringFazendo cast da entrada do STDIN para um inteiro:
$var = trim(fgets(STDIN));
$var = (int)$var;Ou em uma linha:
$var = (int)trim(fgets(STDIN));Ao fazer cast de strings para inteiros, o PHP converte o que pode. Caracteres inválidos são ignorados:
"5ab"torna-se5"bb"torna-se0"4.5"torna-se4
O tipo afeta as operações:
- Aritmética com strings:
"5" + "5" = 10(PHP converte automaticamente para números) - Concatenação:
"5" . "5" = "55"
Experimente você mesmo
<?php
// Ler entrada
$firstNumber = ?;
$secondNumber = ?;
// Converter o $secondNumber para int
// Calcular o resultado
$result = ?;
echo $result;
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições 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