W3docs

Palavras-chave do PHP

Palavras-chave são palavras reservadas com significado especial no PHP que não podem ser usadas como identificadores de variáveis, funções ou classes.

O Que São Palavras-chave do PHP?

Palavras-chave são palavras reservadas às quais o PHP atribui um significado interno. Elas definem a estrutura da linguagem — condicionais, laços, classes, tratamento de erros e muito mais — portanto o PHP as trata de forma diferente dos nomes que você mesmo inventa. Esta página lista todas as palavras-chave do PHP, explica as regras em torno delas e mostra como as mais comuns são usadas.

Por serem reservadas, você não pode usar uma palavra-chave como identificador comum:

<?php
// These all cause a parse error — the words are reserved:
$list = [];        // OK: "list" is fine as a variable name in modern PHP...
function for() {}  // Parse error: "for" cannot be a function name
class If {}        // Parse error: "if" cannot be a class name

Duas regras práticas decorrem disso:

  • Palavras-chave não diferenciam maiúsculas de minúsculas. if, IF e If significam a mesma coisa, portanto ECHO "hi"; funciona. (Nomes de variáveis e os nomes que você define, por outro lado, diferenciam maiúsculas de minúsculas.)
  • Constantes como true, false e null também são reservadas. Elas se comportam como palavras-chave mesmo que pareçam valores comuns.

Lista de Palavras-chave do PHP

A tabela abaixo agrupa as palavras-chave pelo que fazem, o que as torna muito mais fáceis de memorizar do que uma lista simples.

CategoriaPalavras-chave
Condicionaisif, else, elseif, endif, switch, case, default, endswitch, match
Laçosfor, endfor, foreach, endforeach, while, endwhile, do, break, continue
Funções e geradoresfunction, fn, return, yield, use, static, global
Classes e OOPclass, interface, trait, enum, extends, implements, new, clone, abstract, final, public, protected, private, const, var, instanceof, insteadof
Namespaces e autoloadingnamespace, use, include, include_once, require, require_once
Tratamento de errostry, catch, finally, throw
Construções da linguagemecho, print, array, list, isset, unset, empty, die, exit, eval
Operadores lógicosand, or, xor
Tipos e valorestrue, false, null, callable, int, float, string, bool
Outrosas, declare, enddeclare, goto, __halt_compiler

O conjunto exato cresce lentamente entre versões — match chegou no PHP 8.0, enum no PHP 8.1 e fn (arrow functions) no PHP 7.4 — portanto algumas entradas acima não estão disponíveis em runtimes mais antigos. Você sempre pode verificar uma palavra em tempo de execução em vez de memorizar a lista:

<?php
var_dump(function_exists('array'));  // bool(false) — "array" is a language construct, not a function
echo PHP_VERSION, "\n";              // tells you which keywords your runtime supports

Usando Palavras-chave do PHP

As palavras-chave se combinam nas instruções que compõem cada programa. O exemplo abaixo usa um condicional, um laço e uma definição de função juntos:

<?php

$x = 7;
// Define a conditional statement
if ($x == 5) {
    echo "x is equal to 5.";
}

// Define a loop
for ($i = 0; $i < 10; $i++) {
    echo $i;
}

// Define a function
function add($a, $b)
{
    return $a + $b;
}
?>

Aqui a palavra-chave if inicia um condicional que verifica se $x é igual a 5, for constrói um laço que vai de 0 a 9, e function declara uma rotina reutilizável que retorna a soma de seus dois argumentos.

Armadilhas Comuns

  • Palavras reservadas como nomes de métodos ou constantes. Desde o PHP 7, a maioria das palavras-chave é permitida como nomes de métodos, propriedades e constantes de classe (por exemplo, $object->list() ou Foo::CONST não analisarão, mas Foo::PRINT sim), mas usá-las prejudica a legibilidade. Prefira um nome mais claro.
  • echo e print não são funções. echo "a", "b"; funciona (múltiplos argumentos, sem parênteses necessários); eles são construções da linguagem, portanto não podem ser passados como callbacks.
  • exit e die são idênticos. Ambos param o script imediatamente; die é apenas um alias.
  • Não confunda and/or com &&/||. As formas textuais têm precedência menor, portanto $ok = true and false; atribui true, não false. Use && e || em expressões. Consulte PHP Operators para a tabela de precedência.

Tópicos Relacionados

Cada grupo de palavras-chave tem seu próprio capítulo com mais detalhes:

Conclusão

As palavras-chave do PHP são o vocabulário fixo da linguagem: palavras reservadas e insensíveis a maiúsculas que constroem condicionais, laços, classes e tratamento de erros. Saber quais palavras são reservadas evita que você nomeie coisas ilegalmente, e saber o que cada uma faz permite que você leia e escreva PHP com fluência. Na dúvida, agrupe-as por finalidade — como na tabela acima — em vez de memorizá-las uma por uma.

Prática

Prática
Quais das opções a seguir são palavras-chave reservadas no PHP?
Quais das opções a seguir são palavras-chave reservadas no PHP?
Was this page helpful?