Aulab Criar conta grátis
Para aprender

Variáveis em PHP: guia para quem está começando

Atualizado em 30 de agosto de 2026

Variável em PHP é um nome que guarda um valor e que pode passar a guardar outro depois. Você cria uma escrevendo um cifrão, o nome, um sinal de igual e o valor: $nomeAluno = "Ana";. A partir dali, todo lugar onde você escrever $nomeAluno o PHP entende "Ana" — até você mandar guardar outra coisa nesse mesmo nome.

O sinal de igual aqui não é o igual da matemática. Ele não afirma que os dois lados são iguais; ele manda guardar o que está à direita no nome que está à esquerda. Por isso $saldo = $saldo - 30; faz todo sentido em programação e nenhum na aula de álgebra: o PHP calcula o lado direito primeiro e depois guarda o resultado em $saldo.

Variáveis são a primeira coisa que se aprende em qualquer linguagem porque tudo depende delas. Sem guardar valores, um programa não consegue comparar, somar, repetir nem decidir nada. Este guia cobre a sintaxe, os tipos que aparecem todo dia, a diferença entre aspas simples e duplas, como escolher nomes que você vai entender daqui a um mês e os quatro erros que todo iniciante comete — com a mensagem exata que o PHP mostra em cada um.

A sintaxe, peça por peça

Um exemplo mínimo que já roda:

<?php

$nomeAluno = "Ana";
$idade = 17;

echo "Aluno: $nomeAluno\n";
echo "Idade: $idade\n";

Saída:

Aluno: Ana
Idade: 17

Quatro regras estão embutidas aí:

  • O cifrão é obrigatório. Sempre. Na criação e em todo uso depois. nomeAluno sem cifrão não é variável para o PHP.
  • Toda instrução termina em ponto e vírgula. É o ponto final da frase; sem ele o PHP acha que a linha continua na de baixo.
  • Texto vai entre aspas, número não. "Ana" com aspas, 17 sem.
  • O nome diferencia maiúscula de minúscula. $nomeAluno e $nomealuno são duas variáveis diferentes, e essa é a origem de umas boas horas perdidas.

O \n no fim de cada texto é a quebra de linha. Ele só funciona dentro de aspas duplas — dentro de aspas simples, \n aparece na tela como duas letras mesmo.

Os tipos que você usa todo dia

PHP não exige que você declare o tipo: ele descobre pelo valor que você guardou. Na prática, quatro tipos cobrem quase tudo no começo.

Tipo Guarda Exemplo
string Texto, sempre entre aspas $nomeProduto = "Pão de forma";
int Número inteiro, sem casas decimais $quantidade = 3;
float Número com casas decimais, separadas por ponto $precoUnitario = 8.75;
bool Verdadeiro ou falso $temDesconto = true;

Duas armadilhas moram nessa tabela. A primeira: número decimal em PHP usa ponto, não vírgula. Escrever 8,75 não guarda oito reais e setenta e cinco centavos — é erro de sintaxe. A vírgula só volta na hora de mostrar o valor formatado ao usuário.

A segunda aparece quando você tenta imprimir um booleano:

<?php

$nomeProduto = "Pão de forma";
$quantidade = 3;
$precoUnitario = 8.75;
$temDesconto = true;

echo $nomeProduto . "\n";
echo $quantidade . "\n";
echo $precoUnitario . "\n";
echo $temDesconto . "\n";

Saída:

Pão de forma
3
8.75
1

A última linha imprimiu 1, não true. Ao ser transformado em texto, true vira "1" e false vira texto vazio — ou seja, echo $temDesconto; com false não mostra absolutamente nada. Booleano não foi feito para ser exibido; foi feito para ser testado numa condição, como você vai ver em if e else em PHP.

Repare também no ponto entre os pedaços: em PHP, o ponto é o operador que gruda dois textos. "Total: " . $valor junta os dois num texto só.

Aspas duplas e aspas simples

Essa diferença confunde muita gente e é simples de entender: aspas duplas leem as variáveis que estão dentro do texto; aspas simples não.

<?php

$cidade = "Recife";

echo "Bom dia, $cidade!\n";
echo 'Bom dia, $cidade!' . "\n";

Saída:

Bom dia, Recife!
Bom dia, $cidade!

Colocar a variável dentro das aspas duplas se chama interpolação, e é o jeito mais legível de montar uma frase. A alternativa é concatenar com ponto: echo "Bom dia, " . $cidade . "!"; dá exatamente o mesmo resultado. Use o que ficar mais claro de ler.

E não, escrever "Total: R$ 50,00" não dá problema: o PHP só tenta ler uma variável quando o cifrão vem colado a uma letra ou sublinhado. Cifrão seguido de espaço é apenas um cifrão.

Nomes bons e nomes ruins

O nome da variável é documentação. Comparação direta:

Ruim Bom Por quê
$x $precoTotal Uma letra não diz o que guarda
$a1, $a2 $notaUm, $notaDois Numerar nomes esconde o significado
$dados $listaAlunos Genérico demais para achar depois
$valor_total_da_compra_do_cliente $totalCompra Longo demais cansa e erra na digitação

A convenção mais usada em PHP é o camelCase: primeira palavra em minúscula e as seguintes com inicial maiúscula, sem espaço e sem separador — $precoTotal, $nomeAluno, $totalCompra. Regras técnicas que o PHP impõe: o nome começa com letra ou sublinhado (nunca com número), aceita letras, números e sublinhado, e não aceita espaço nem hífen. Evite acento nos nomes; no texto guardado dentro deles, acento é normal e bem-vindo.

Os quatro erros clássicos

Todo mundo comete os quatro. O que separa quem avança rápido de quem trava é ler a mensagem em vez de fechar a tela — a mensagem quase sempre entrega o número da linha.

1. Esquecer o cifrão.

<?php

nomeAluno = "Ana";
echo nomeAluno;
PHP Parse error: syntax error, unexpected token "=" on line 3

Sem o cifrão, o PHP lê nomeAluno como um nome solto e não espera um sinal de igual ali.

2. Esquecer o ponto e vírgula.

<?php

$nomeAluno = "Ana"
echo $nomeAluno;
PHP Parse error: syntax error, unexpected token "echo" on line 4

Detalhe importante: o erro acusa a linha 4, mas o problema está na 3. Como a linha 3 não terminou, o PHP continuou lendo e só estranhou ao chegar no echo. Sempre confira também a linha anterior à apontada.

3. Esquecer as aspas no texto.

<?php

$nomeAluno = Ana;
echo $nomeAluno;
PHP Fatal error: Uncaught Error: Undefined constant "Ana" on line 3

Sem aspas, o PHP acha que Ana é um nome de constante que alguém definiu em algum lugar — e não encontra.

4. Usar uma variável que ainda não existe. Escrever $nomeAluno num arquivo onde você criou $nomealuno gera um aviso de variável indefinida e imprime vazio. O programa até roda, o resultado é que sai errado. Esse é o erro mais chato dos quatro justamente por não quebrar nada.

Dois exemplos completos

Fechamento de compra numa padaria, com o valor formatado no padrão brasileiro:

<?php

$precoUnitario = 12.50;
$quantidade = 4;
$precoTotal = $precoUnitario * $quantidade;

echo "Total: R$ " . number_format($precoTotal, 2, ',', '.') . "\n";

Saída:

Total: R$ 50,00

A função number_format recebe o número, quantas casas decimais mostrar, qual símbolo usar como vírgula decimal e qual usar como separador de milhar. É ela que transforma 50 em 50,00 e 1234.5 em 1.234,50.

E o caso que mostra a variável mudando de valor ao longo do programa:

<?php

$saldo = 100;
echo "Saldo inicial: $saldo\n";

$saldo = $saldo - 30;
echo "Depois da compra: $saldo\n";

$saldo = $saldo + 50;
echo "Depois do depósito: $saldo\n";

Saída:

Saldo inicial: 100
Depois da compra: 70
Depois do depósito: 120

É esse comportamento — guardar, ler, recalcular e guardar de novo — que sustenta os contadores e acumuladores dos laços de repetição, o assunto natural depois deste.

Para praticar sem instalar nada, vale usar um ambiente que roda PHP direto no navegador. É assim que os exercícios funcionam no Aulab: o aluno escreve, executa e vê a saída na mesma tela, envia, e o professor aprova ou devolve com um comentário dizendo o que ajustar. Para variáveis, esse ciclo curto ajuda muito — a maior parte dos erros dessa etapa some quando alguém aponta o cifrão que faltou.

Perguntas frequentes

Como declarar uma variável em PHP?

Escrevendo cifrão, nome, sinal de igual e valor, terminando com ponto e vírgula: $nomeAluno = "Ana";. Não existe palavra de declaração separada nem é preciso informar o tipo — o PHP identifica o tipo pelo valor guardado.

Por que toda variável em PHP começa com cifrão?

Porque é assim que o interpretador distingue uma variável de um nome de função ou de constante. O cifrão é obrigatório na criação e em todo uso posterior; sem ele o PHP acusa erro de sintaxe.

Qual a diferença entre aspas simples e aspas duplas?

Aspas duplas leem as variáveis escritas dentro do texto e interpretam sequências como a quebra de linha. Aspas simples mostram o conteúdo literalmente, incluindo o nome da variável com cifrão e tudo.

Preciso declarar o tipo da variável em PHP?

Não. O PHP define o tipo pelo valor atribuído e a mesma variável pode guardar um texto agora e um número depois. Tipos declarados existem em parâmetros e retornos de função, mas isso é assunto de mais adiante.

Por que meu echo de uma variável booleana não mostra nada?

Porque ao virar texto o valor true aparece como 1 e o valor false aparece como texto vazio. Booleano serve para ser testado numa condição, não para ser exibido diretamente.

Leia também

Sua turma inteira num lugar só

Poste aulas e exercícios, corrija com devolutiva e acompanhe o progresso de cada aluno — o Aulab reúne tudo isso numa turma só.