Type Casting permite converter um valor de um tipo de dado para outro. Por exemplo, converter uma string em um integer, um integer em um float…
Segue lista de operadores para conversão de tipos:
Operadores | Converte para |
---|---|
(array) | Array |
(bool) ou (boolean) | Boolean |
(int) ou (integer) | Integer |
(object) | Object |
(real), (double), ou (float) | Float |
(string) | String |
Vamos a alguns exemplos:
CONVERTENDO(CAST) PARA INT
<?php
echo (int)12.5 . '<br>';
echo (float)'13' . '<br>';
echo (int)200.4 . '<br>';
echo (int)'de texto para int' . '<br>';
?>
Resultado:
12 13 200 0
Acima, vimos que a conversão de uma string em integer não dá muito certo.
A conversão de null para int resulta em 0.
<?php
$quantidade = null;
echo (int)$quantidade; // o resultado será 0
?>
CONVERTENDO(CAST) PARA FLOAT
Usamos (float) para converter para float
<?php
$quantidade = (float)100;
echo $quantidade; // resultado é 100
?>
CONVERTENDO(CAST) PARA STRING
Usamos (string) para converter para string
<?php
$valor = 100;
echo "R$ " . (string)$valor; // resultado é R$ 100
?>
Não precisamos usar o operador (string), como no caso acima, porque o PHP tem um recurso chamado type juggling(malabarismo de tipos) que converte implicitamente o inteiro em uma string. Podemos fazer assim:
<?php
$valor = 100;
echo "R$ " . $valor; // resultado é uma string: R$ 100
?>
Quanto à conversão para string de valores booleanos, nulll… O operador (string) converte:
- true para a string “1”
- false para “” aspas vazias
- null para uma string vazia
- array recebemos um aviso ao tentar converter um array. Não vimos ainda sobre array mas pense nele como sendo um conjunto de valores dentro de uma única variável, exemplo: $lista = [manga, melão, melancia]; Esse é o aviso que recebemos: Notice: Array to string conversion in /var/www/html/meusite/index.php on line 6.
Conclusão
Vimos exemplos de type casting ou conversão de dados. Fique livre para testar os outros tipos, como (bool). Veremos mais para frente sobre objetos(object) e array.