Iniciante php PHP 15 min de leitura

Tipos de Dados PHP

Tipos de Dados PHP

Compreendendo os Tipos de Dados PHP

Na nossa exploração inicial de PHP, já encontramos o conceito de armazenar informações em variáveis. Por exemplo, podemos armazenar um nome como texto e uma pontuação como um número. Estas peças de informação pertencem a diferentes categorias chamadas tipos de dados. PHP, como a maioria das linguagens de programação, fornece um conjunto de tipos de dados integrados para representar vários tipos de dados. Existem dez tipos de dados fundamentais em PHP, que podemos classificar amplamente em tipos escalares, compostos e especiais. Esta lição irá focar primariamente nos tipos de dados mais utilizados.

Vamos dar uma olhada rápida na lista de tipos de dados PHP:

  • String
  • Integer
  • Float
  • Boolean
  • Resource
  • Iterable
  • Callable
  • Object
  • Array
  • NULL

Concentraremos nossa atenção nos quatro primeiros, conhecidos como tipos de dados escalares, que representam valores únicos. Também abordaremos o tipo NULL. Mais tarde, você se aprofundará nos tipos de dados compostos como arrays e objetos, e mencionaremos brevemente os tipos especiais menos comuns.

Tipos de Dados Escalares em Detalhe

Vamos analisar esses tipos de dados escalares essenciais:

  • String: Representa dados textuais. Pense em nomes, endereços ou qualquer sequência de caracteres. Por exemplo, "Hello, world!" é uma string.
  • Integer: Representa números inteiros, sem qualquer componente decimal. Exemplos incluem -5, 0 e 100.
  • Float: Representa números que têm um componente decimal. Estes são também conhecidos como números de ponto flutuante. Exemplos incluem 3.14, -2.7 e 0.5.
  • Boolean: Representa valores de verdade. Um booleano só pode ter um de dois valores: true ou false. Isto é incrivelmente útil para controlar o fluxo do programa (por exemplo, verificar se um utilizador está autenticado).

Finalmente, temos NULL, que representa a ausência de um valor.

Explorando Tipos de Dados Interativamente

Para entender como esses tipos de dados funcionam, vamos usar o modo interativo do PHP. Esta é uma maneira conveniente de testar linhas individuais de código PHP e ver os resultados imediatamente, sem precisar criar um arquivo PHP completo.

Para entrar no modo interativo, basta digitar php -a no seu terminal ou prompt de comando. Agora você está pronto para experimentar!

Vamos tentar um exemplo simples:

php > $username = "matt";
php > print gettype($username);
string

Neste exemplo, atribuímos a string "matt" a uma variável chamada $username. Em seguida, usamos a função gettype() para determinar o tipo de dado da variável. Como você pode ver, ele identifica corretamente $username como uma string. Esta abordagem interativa será inestimável à medida que continuarmos a explorar PHP.

Tipos de Dados do PHP: Números e Booleanos

Vamos revisitar o conceito de tipos de dados usando um exemplo simples. Atribuiremos o valor da string "matt" a uma variável chamada $username. Em seguida, usaremos a função gettype() integrada do PHP para determinar e exibir o tipo de dado da variável. Isso confirmará que $username armazena um valor de string.

Se você está familiarizado com linguagens de programação como Java ou C#, provavelmente está acostumado a declarar explicitamente o tipo de dado de uma variável. O PHP lida com isso de forma diferente. É uma linguagem fracamente tipada, o que significa que uma única variável pode armazenar valores de vários tipos de dados ao longo do tempo. O PHP determina automaticamente o tipo de dado com base no valor atribuído a ele.

Embora seja possível definir explicitamente tipos de dados em PHP (exploraremos isso com mais detalhes mais tarde, quando começarmos a escrever funções), por enquanto, dependeremos da inferência automática de tipos do PHP para nossas atribuições de variáveis simples.

Vamos analisar os tipos de dados numéricos. Você pode atribuir números inteiros (como 21) ou números com casas decimais (como 9.99) a variáveis, e o PHP os interpretará corretamente.

<?php
$age = 21;
echo gettype($age); // Output: integer

$price = 9.99;
echo gettype($price); // Output: double
?>

Observe que $age é reconhecido como um integer e $price é reconhecido como um double. É importante entender que, embora gettype() retorne "double" para números de ponto flutuante, o PHP possui apenas um tipo de dados de ponto flutuante subjacente: float. O valor de retorno "double" de gettype() é um artefato histórico das origens do PHP como uma linguagem mais antiga, referenciando o formato de ponto flutuante de precisão dupla usado internamente. Não se preocupe com a distinção; todos os números de ponto flutuante em PHP são fundamentalmente floats.

Agora, vamos examinar o tipo de dado bool, que representa valores verdadeiro/falso.

<?php
$isDutyFree = true;
echo gettype($isDutyFree); // Output: boolean
echo $isDutyFree; // Output: 1
?>

Quando você usa gettype() na variável $isDutyFree, você verá "boolean" exibido. PHP usa o alias "boolean" para o tipo de dado bool, e embora eles sejam amplamente intercambiáveis, é uma boa prática usar consistentemente bool no seu código. Farei isso neste guia.

Uma observação curiosa surge quando você tenta imprimir o valor de $isDutyFree. Em vez de "true", você vê o número 1. Isso não é um erro; é como PHP representa valores booleanos quando os exibe. true é equivalente a 1, e false é equivalente a 0.

Exibindo Valores Booleanos e Introduzindo NULL

Ao utilizar a função print em PHP, o motor de execução converte automaticamente qualquer valor fornecido em uma string. Os valores booleanos são tratados de forma específica durante essa conversão: true se torna a string "1", enquanto false se transforma em uma string vazia (representada como ""). Essa conversão automática pode, por vezes, obscurecer o valor booleano real.

Para determinar com precisão o tipo de dado e o valor de uma variável booleana, utilize a função var_dump(). Esta função fornece informações detalhadas sobre uma variável, incluindo seu tipo e seu valor. É uma ferramenta valiosa para aprender PHP e para identificar problemas no seu código.

Regras Críticas

Este código irá produzir: bool(true), confirmando que $isDutyFree é de facto um booleano e o seu valor é true.

Compreendendo o Tipo de Dado NULL

PHP inclui também um tipo de dado especial chamado NULL. Ele representa a ausência de um valor. Pode usar NULL ou null (maiúsculas e minúsculas não importam) para denotar este tipo. Uma variável pode ser considerada NULL em algumas situações.

Primeiramente, se uma variável ainda não foi atribuída a um valor, tentar inspecioná-la com var_dump() irá gerar um aviso indicando que a variável está indefinida, seguido pelo valor NULL.

Em segundo lugar, uma variável é atribuída ao valor NULL quando você a define explicitamente para NULL:

<?php
$firstName = NULL;
var_dump($firstName);
?>

Isto irá gerar: NULL.

É importante distinguir entre uma variável que não foi atribuída a um valor (resultando em um aviso do var_dump()) e uma variável que foi explicitamente atribuída ao valor NULL. Ambos representam, em última análise, uma ausência de um valor significativo, mas a forma como o PHP os trata em termos de avisos difere. Atribuir a uma variável o valor NULL é perfeitamente válido e funciona de forma semelhante a atribuir a ela qualquer outro tipo de dados.

Compreendendo Tipos de Dados e Valores Nulos em PHP

Em PHP, cada pedaço de dado com o qual você trabalha está associado a um tipo de dado. Esses tipos ditam o tipo de operações que você pode realizar e como o PHP interpreta os dados. Embora já estejamos familiarizados com tipos comuns como strings, inteiros e booleanos, é crucial entender como o PHP lida com situações em que uma variável não possui um valor significativo. Isso frequentemente se manifesta como NULL.

Uma variável se torna NULL quando é explicitamente limpa. Você pode realizar isso usando a função interna unset(). Quando uma variável é NULL, ela essencialmente se comporta como se nunca existisse. Tentar exibir uma variável NULL resultará em um aviso indicando uma variável indefinida.

Em aplicações mais complexas, é provável que você encontre valores NULL. Por exemplo, uma conexão de banco de dados pode falhar e ser atribuída como NULL, ou uma função pode ser esperada para retornar um objeto, mas esse objeto não existe. Vamos explorar como lidar com essas situações em seções posteriores, quando nos aprofundarmos na programação orientada a objetos e interações com o banco de dados. Contar adequadamente com valores NULL é uma habilidade vital para escrever código PHP robusto.

Verificação de Tipos de Dados de Variáveis

PHP oferece um conjunto de funções que permitem determinar o tipo de dado de uma variável. Essas funções retornam true ou false, dependendo se a variável corresponde ao tipo especificado. Isso é extremamente útil para validar dados ou garantir que você está executando operações apropriadas para o tipo da variável.

Algumas das funções de verificação de tipo mais utilizadas incluem: is_string(), is_int(), is_float(), is_bool() e is_null(). Vamos analisar alguns exemplos:

No exemplo acima, $gpa armazena um número de ponto flutuante (um número com uma parte decimal). Consequentemente, apenas is_float() retorna true. Em contrapartida, $middleName armazena explicitamente o valor NULL, que é corretamente identificado por is_null(). Essas funções fornecem uma maneira confiável para verificar tipos de dados e escrever código mais seguro e previsível.