O PHP utiliza checagem de tipos dinâmica. Em outras palavras, uma variável pode conter valores de diferentes tipos em diferentes momentos da execução do script.
Os tipos de dados suportados por esta linguagem são divididos em dois grupos:
- Escalares
- Inteiro
- Ponto flutuante
- String
- Booleanos
- Compostos
- Array
- Objeto
- Iterable
- NULL
- resource
- callable
Os tipos de dados compostos callable, iterable, resource e NULL serão abordados num outro momento.
Boolean
Tipo de dado capaz de armazenar valores do tipo TRUE (verdadeiro) ou FALSE (falso), veja o exemplo na Listagem 1. Strings e arrays vazios, valores nulos e zero também são considerados como FALSE.
<?php
$noite = TRUE;
$chuva = FALSE;
if($noite == TRUE)
echo "Está de noite.";
else
echo "Está de dia.";
if($chuva == TRUE)
echo "Está chovendo.";
else
echo "Não está chovendo.";
?>
Devido a instrução IF validar um valor booleano, o trecho acima poderia ser reduzido retirando-se os sinais de igualdade e a palavra TRUE, ficando, por exemplo, if($noite). Veja no exemplo na Listagem 2.
<?php
$noite = TRUE;
$chuva = FALSE;
if($noite)
echo "Está de noite.";
else
echo "Está de dia.";
if($chuva)
echo "Está chovendo.";
else
echo "Não está chovendo.";
?>
No PHP podemos utilizar valores não booleanos em um IF. Para que isso aconteça o PHP vai converter o valor em um booleano. Os seguintes valores serão convertidos para FALSE: "0", 0, 0.0, "" (string vazia), [] (array sem elementos), NULL, variáveis não definidas. Todos os demais valores serão convertidos para TRUE.
Na Listagem 3 vemos os valores que serão convertidos para false. Nela nenhum dos códigos dentro dos ifs serão executados.
<?php
// Variável não definida
if($variavel){
echo "$variavel é FALSE nesse contexto";
}
if(0){
echo "0 é FALSE nesse contexto";
}
if("0"){
echo "String '0' é FALSE nesse contexto";
}
if(null){
echo "Null é FALSE nesse contexto";
}
// Array vazio
if([]){
echo "Array vazio é FALSE nesse contexto";
}
?>
Inteiros (integer ou long)
Vamos começar a entender o tipo de dado INTEIRO, que no caso do PHP pode ser INTEGER ou LONG. A seguir temos alguns exemplos:
- 1234 – Inteiro positivo da base decimal.
- -2345 – Inteiro negativo na base decimal.
- 0234 – Inteiro na base octal-simbolizado pelo 0# equivale a 156 decimal.
- 0x34 – Inteiro na base hexadecimal (simbolizado # pelo 0x) – equivale a 52 decimal.
Veja na Listagem 4, os exemplos mostrados acima.
<?php
$tipo = 1234;
$tipo = -2345;
$tipo = 0234;
$tipo = 0x34;
?>
A diferença entre os inteiros SIMPLES (integer) e LONG está no tamanho em número de bytes utilizados para armazenar a variável, pois o long armazena números em uma faixa de valores maior.
Números em ponto flutuante (double ou float)
Os tipos de dados de ponto flutuante são os números reais, ou seja, inteiros ou fracionários, como mostra a Listagem 5.
<?php
$tipo = 1.543;
$tipo = 23e4;// (equivale a 230.000)
?>
String
O tipo de dados STRING é uma cadeia de caracteres alfanuméricos (letras, números e caracteres especiais). O tipo STRING pode ser utilizado de duas maneiras:
- Utilizando aspas simples o valor da variável será exatamente o texto contido entra as aspas, com exceção de: \\ e \’.
- Utilizando aspas duplas qualquer variável ou caractere de escape será expandido antes de ser atribuído.
Veja os exemplos na Listagem 6.
<?php
$testando = "Olá Mundo Novo";
$testando1 = '--- $testando ---';
echo $testando1;
?>
<?php
$testando = "Olá Mundo Novo";
$testando1 = "--- $testando ---";
echo $testando1;
?>
O valor de uma string pode ser convertido para um tipo numérico (int ou float) em uma operação matemática se ele for um número válido. Vejamos um exemplo:
<?php
$numero = 15; //tipo inteiro
$string = "15"; //tipo string
echo $numero + $string; //Resultado igual a 30
?>
Nesse caso, a variável $string recebeu o valor "15", que foi convertido para 15 na adição, fazendo que o valor 30 seja impresso.
Caso o valor da variável seja um texto com os caracteres '.', 'e', ou 'E', o mesmo será convertido para os tipos float ou double, dependendo do quão grande for o número - double possui o dobro das casas decimais de float. Veja o exemplo na listagem 8:
<?php
$var = 15; //tipo inteiro
$var2 = "15.5"; //tipo String
echo $var + $var2; //Resultado igual a 30.5
?>
No exemplo acima o valor da variável $string foi convertido de "15.5" para 15.5, que é um número decimal. Dessa forma, o resultado desta operação é 30.5, do tipo float.
Arrays
Tipo de dados arrays ou vetores, são uma lista de valores que podem armazenar dados de diversos tipos. No PHP podem ser observados como mapeamentos ou como vetores indexados.
Em vetores simples, cada elemento é identificado apenas pelo seu índice na lista, enquanto em arrays indexados, são dados identificadores específicos aos elementos.
Vejamos na Listagem 9 um exemplo de Arrays no PHP.
<?php
$vetor [1] = "Alemanha ";
$vetor [2] = "Italia ";
$vetor [3] = "França";
$vetor ["testando"] = 1;
?>
<?php
$vetor = array(1 => "Alemanha", 2 => "Italia", 3 => "França", "testando" => 1);
?>
<?php
$vetorPaises = array("Alemanha", "Italia", "França", "Noruega");
echo $vetorPaises[1];
?>
Objetos
É um tipo de dado que pode ser inicializado utilizando o comando o NEW para instanciar uma classe para uma variável, veja o exemplo na Listagem 10. Como não é o foco desse artigo, não entraremos em detalhes com relação à Programação Orientada a Objetos no PHP, onde esse tipo de dados tem mais sentido prático.
<?php
class CD
{
var $titulo;
var $banda;
var $ano_lancamento;
}
$disco = new CD();
$disco ->titulo = "The Number of the Beast";
$disco ->banda = "Iron Maiden";
$disco ->ano_lancamento = 1982;
?>
O PHP é bastante flexível com relação à manipulação de variáveis, posto que não se trata de uma linguagem fortemente tipada. Porém, o conhecimento de cada tipo de dados suportado fundamental para garantir uma utilização adequada dos valores.
Confira outros conteúdos:
Teste unitário com PHPUnit
PHP: Strings
PHP: Funções
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.