Tipos de dados
Nesta aula, exploramos os tipos de dados escalares em PHP (int, float, string, bool), o tipo especial null, a conversão de tipos via casting e as funções var_dump e gettype para inspeção de variáveis.
Nesta aula, vamos mergulhar nos tipos de dados disponíveis em PHP. Entender os tipos é fundamental para escrever código correto e eficiente. Veremos os tipos escalares, o tipo null, como fazer conversão de tipos (casting) e como inspecionar variáveis com var_dump e gettype.
Escalares (int, float, string, bool)
Os tipos escalares representam um único valor. Em PHP, os principais são:
- int: números inteiros (ex: 42, -3, 0).
- float: números de ponto flutuante (ex: 3.14, -0.5, 2.0).
- string: sequências de caracteres (ex: "Olá", 'PHP').
- bool: valores lógicos true ou false.
Exemplo de declaração:
<?php
$idade = 25; // int
$preco = 19.99; // float
$nome = "Maria"; // string
$ativo = true; // bool
?>
Null
O tipo null representa uma variável sem valor. Uma variável é null se:
- Foi atribuído o valor null diretamente.
- Ainda não foi inicializada.
- Foi destruída com unset().
Exemplo:
<?php
$valor = null;
var_dump($valor); // imprime: NULL
?>
Conversão (casting)
PHP é uma linguagem de tipagem dinâmica, mas podemos forçar a conversão de um tipo para outro usando casting. Os casts disponíveis são:
(int)ou(integer)(float)ou(double)ou(real)(string)(bool)ou(boolean)(array),(object), etc.
Exemplo:
<?php
$numero = "123";
$inteiro = (int) $numero; // 123 (int)
$float = (float) "45.67"; // 45.67 (float)
$bool = (bool) ""; // false (string vazia vira false)
?>
Regras comuns de conversão:
- Strings numéricas são convertidas para int/float.
- Strings não numéricas viram 0.
- 0, null, '' e array vazio viram false; outros valores viram true.
var_dump e gettype
Para inspecionar o tipo e valor de uma variável, usamos:
var_dump($var): exibe o tipo e o valor (e para arrays/objetos, mostra a estrutura).gettype($var): retorna uma string com o nome do tipo.
Exemplo:
<?php
$valor = 3.14;
echo gettype($valor); // imprime: double
var_dump($valor); // imprime: float(3.14)
?>
Referências
Exercícios
-
Crie uma variável com o valor "123.45" (string) e converta-a para float. Em seguida, exiba o tipo usando gettype.
<?php $str = "123.45"; $num = (float) $str; echo gettype($num); // double ?> -
Declare uma variável sem atribuir valor e outra com valor null. Use var_dump para exibir ambas.
<?php $var1; // não inicializada $var2 = null; var_dump($var1); // NULL var_dump($var2); // NULL ?> -
Qual é o resultado da expressão (bool) "false"? Explique.
O resultado é true, pois a string "false" não é vazia. Apenas strings vazias ou "0" são convertidas para false.
-
Escreva um código que some um inteiro (10) com uma string ("5") e exiba o tipo do resultado.
<?php $a = 10; $b = "5"; $soma = $a + $b; var_dump($soma); // int(15) ?> -
Use var_dump para exibir o valor e tipo de null, true, 0 e "0".
<?php var_dump(null); // NULL var_dump(true); // bool(true) var_dump(0); // int(0) var_dump("0"); // string(1) "0" ?>