Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Declarar variáveis
  2. Declarar constantes
  3. Escopo de variáveis/constantes
  4. Nomeando variáveis/constantes
  5. Exemplos de declaração de variáveis
  6. Tabela de palavras reservadas
  7. Palavras reservadas com descrição
  8. Variável nullable
  9. Variáveis superglobais
  10. Constantes predefinidas

Para escrever nossos programas na linguagem PHP, precisamos saber como declarar variáveis e constantes que vão armazenar os dados processados. Nesta parte do tutorial vamos aprender sobre variáveis, constantes e escopo.

Para ver os conceitos básicos sobre variáveis e constantes visite: Portugol: Variáveis e Portugol:Constantes.

Variáveis em PHP são declaradas como na sintaxe mostrada abaixo. Como PHP é uma linguagem fracamente tipada, não precisamos utilizar os tipos de dado primitivos na declaração.

Sintaxe
$nome_variavel; //não iniciada

$nome_variavel = valor_inicial
Onde
$: identificador obrigatório

A atribuição de valor a uma variáveis é feita utilizando o operador (=).

Exemplo 1
<?php
    $var1 = "string";
    $var2 = 100;
?>
Saída
-

A linguagem PHP possui possui característica de inferência de dados. Isso significa que quanto criamos uma variável não precisamos declarar seu tipo. A inferência do tipo de dado é feita no momento da interpretação levando em consideração o valor atribuído a uma variável.

Exemplo 2
<?php
    $nome = "string"; //String
    $codigo = 100; //Integer
?>
Saída
-

Uma variável em PHP pode receber valores de diferentes tipos de dados mesmo sendo um tipo previamente atribuído.

Exemplo 2.1
<?php
    $variavel = "string"; //String
    $variavel = 100; //Integer
    $variavel = 1.99; //float
?>
Saída
-

A linguagem PHP possui funções para identificação ou checagem de tipos de dados de variáveis e objetos que serão vistos mais adiante em PHP Básico: Manipulando Variáveis.

Diferente de outras linguagens, para criarmos uma ou mais constantes, utilizamos a função define que recebe um nome de constante e valor como argumentos.

Sintaxe
define(name, value, case-insensitive);
Onde
name: nome da constante
value: valor da constante
case-insensitive: Valor booleano para indicar se é sensível à maiúscula e minúscula. Padrão é false.
Exemplo 3
//main.php
<?php 
    define("OLA", "Olá, mundo!");
    echo OLA; //uso de constante
?>
Saída

Olá, mundo!

Em PHP também é possível declararmos constantes utilizando vetor de strings. Assunto vetor pode ser visto em PHP Básico: Vetor.

Exemplo 4
//main.php
<?php 
    define("HELLO", ["const1","const2","const3"]);
    echo HELLO[0]; //uso de constante
?>

Saída
const1

Por boa prática, as constantes devem ser criadas com letras maiúsculas para melhor distinção entre variáveis e constantes ao longo de seus usos em nossos programas.

Em PHP, o escopo de variáveis em pode ser Local, Global, Estático e Parâmetros. Nesta seção vamos aprender sobre esses escopos mencionados acima. Os escopos Estático e Parâmetros serão vistos em PHP Básico: Funções .

Para PHP, todas as nossas variáveis criadas ou declaradas dentro de funções ou bloco de código são consideradas de escopo local.

Exemplo 5
<?php 
function funcao()
{
    $teste = "teste";
}
?>
Saída
-

No exemplo acima, a variável teste e só pode ser acessadas no escopo onde foi criada. Ao término da execução da função funcao os recursos utilizados por teste serão liberados.

Para PHP, todas as nossas variáveis criadas ou declaradas fora de funções são consideradas globais.

Exemplo 6
<?php 
$teste1 = "global";

function funcao()
{
    $teste2 = "local";
}
?>
Saída
-

No exemplo acima, a variável teste1 pode ser acessada dentro de funções. A variável teste2 só pode acessada dentro da função.

Para dar nomes identificadores(variáveis, constantes e etc), podemos utilizar as convensões Pascal,Snake ou Camel case. Essas convensões foram vistas em Portugol: Convensões no tutorial da linguagem Portugol e a leitura é recomendada.

Exemplo 7

nomeVariavel : Camel Case
NomeVariavel : Pascal Case
nome_variavel : Snake Case

Além das convensões vistas acima, a linguagem PHP utiliza as seguintes regras que são suportadas para dar nomes a identificadores:

  1. Devem iniciar com $
  2. Deve conter letras( a-z, A-Z), ou underscore(_)
  3. O primeiro caractere pode utilizar ou _ seguido de caracteres definidos em item 2
  4. Os nomes são case-sensitive. NOME e nome são visto como diferentes
  5. Uma palavra reservada não pode ser utilizadas
Exemplo 8

Nomes de identificadores incorretos

$idade pessoa; //espaço entre nomes
$int; // palavra reservada;
#idade; //caracter inválido
Exemplo 9

Nomes de identificadores corretos

$idade_pessoa;
$idadePessoa
$IdadePessoa

Agora que já temos conhecimento sobre os tipos básicos de dados presentes na linguagem PHP, vamos ver alguns exemplos de declaração de variáveis com os tipos já vistos.

Exemplo 9
$var_float = 1.99
$varInt = 777;
$VarString = "uma string em java";
$var_bool = false;
$vetor = [0, 1, 2]; //integer
$matriz = [[1,2],[[3,4]]; //integer
$varb = 0b11111111; //binário
$varhex = 0xff;
$varoctal = 0o100;

As palavras reservadas têm significados especiais para identificar comandos e outros. PHP possui as seguintes palavras reservadas abaixo.

__halt_compiler() abstract and array
break callable case catch
class clone const declare
default die() do echo
else elseif empty() enddeclare
endfor endif endswitch endwhile
eval() exit() extends final
short finally fn(7.4) for
foreach function global goto
if implements includes include_once
instanceof insteadof interface isset()
list() match(8.0) namespace new
or print private protected
public readonly(8.1.0) required require_once
return static switch throw
trait try unset() use
var while xor yield
yield from - - -

Algumas palavras reservadas não serão abordadas neste tutorial básico sobre PHP sendo mencionadas em futuras atualizações.

  1. 20/08/2025 - revisão 4 - Ajustes: pontuais, objetivos, linguagem em exemplos e target de links internos
  2. 21/09/2024 - revisão 3 - Ajustes gramaticais pontuais; correção em link Portugol; outros ajustes
  3. 03/09/2024 - revisão 2 - Correção em link de objetivo: dar nomes as variáveis e constantes
  4. 05/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  5. 20/09/2023 - versão inicial