Estas palavras tem um significado especial no PHP. Algumas delas representam coisas que parecem funções, algumas parecem constantes mas na verdade não o são realmente: elas são construtores de linguagem. Você não pode usar nenhuma das seguintes palavras como constantes, nomes de classes, de funções ou de métodos. Utilizar como nome de variáveis geralmente não causa erros, mas pode levar a confusão.
A partir do PHP 7.0.0, estas palavras-chave são permitidas em propriedades, constantes e nomes de métodos em classes, interfaces e traits, com exceção de class, que não pode ser utilizada como nome de uma constante.
__halt_compiler() | abstract | and | array() | as |
break | callable (a partir do PHP 5.4) | case | catch | class |
clone | const | continue | declare | default |
die() | do | echo | else | elseif |
empty() | enddeclare | endfor | endforeach | endif |
endswitch | endwhile | eval() | exit() | extends |
final | finally (a partir do PHP 5.5) | for | foreach | function |
global | goto (a partir do PHP 5.3) | if | implements | include |
include_once | instanceof | insteadof (a partir do PHP 5.4) | interface | isset() |
list() | namespace (a partir do PHP 5.3) | new | or | |
private | protected | public | require | require_once |
return | static | switch | throw | trait (a partir do PHP 5.4) |
try | unset() | use | var | while |
xor | yield (a partir do PHP 5.5) |
__CLASS__ | __DIR__ (a partir do PHP 5.3) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__ |
__NAMESPACE__ (a partir do PHP 5.3) | __TRAIT__ (a partir do PHP 5.4) |