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 nameDuas regras práticas decorrem disso:
- Palavras-chave não diferenciam maiúsculas de minúsculas.
if,IFeIfsignificam a mesma coisa, portantoECHO "hi";funciona. (Nomes de variáveis e os nomes que você define, por outro lado, diferenciam maiúsculas de minúsculas.) - Constantes como
true,falseenulltambé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.
| Categoria | Palavras-chave |
|---|---|
| Condicionais | if, else, elseif, endif, switch, case, default, endswitch, match |
| Laços | for, endfor, foreach, endforeach, while, endwhile, do, break, continue |
| Funções e geradores | function, fn, return, yield, use, static, global |
| Classes e OOP | class, interface, trait, enum, extends, implements, new, clone, abstract, final, public, protected, private, const, var, instanceof, insteadof |
| Namespaces e autoloading | namespace, use, include, include_once, require, require_once |
| Tratamento de erros | try, catch, finally, throw |
| Construções da linguagem | echo, print, array, list, isset, unset, empty, die, exit, eval |
| Operadores lógicos | and, or, xor |
| Tipos e valores | true, false, null, callable, int, float, string, bool |
| Outros | as, 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 supportsUsando 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()ouFoo::CONSTnão analisarão, masFoo::PRINTsim), mas usá-las prejudica a legibilidade. Prefira um nome mais claro. echoeprintnã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.exitediesão idênticos. Ambos param o script imediatamente;dieé apenas um alias.- Não confunda
and/orcom&&/||. As formas textuais têm precedência menor, portanto$ok = true and false;atribuitrue, nãofalse. 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:
- PHP Variables e PHP Data Types — como
var,arraye as palavras-chave de tipo funcionam. - PHP If...Else...Elseif e PHP Loops — as palavras-chave de fluxo de controle.
- PHP Functions —
function,return,usee escopo. - PHP Classes and Objects — as palavras-chave de OOP.
- PHP Constants e PHP Namespaces.
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.