У этих слов есть специальное значение в PHP. Некоторые из них представляют собой вещи, которые выглядят как функции, некоторые похожи на константы и так далее, но они ими не являются в действительности. Они - конструкции языка. Вы не можете использовать следующие слова как константы, имена классов, функции или имена методов. Использование их как имен переменных в общем допускается, однако может привести к путанице.
__halt_compiler() | abstract | and | array() | as |
break | callable (начиная с 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 | for | foreach | function | global |
goto (начиная с PHP 5.3) | if | implements | include | include_once |
instanceof | insteadof (начиная с PHP 5.4) | interface | isset() | list() |
namespace (начиная с PHP 5.3) | new | or | private | |
protected | public | require | require_once | return |
static | switch | throw | trait (начиная с PHP 5.4) | try |
unset() | use | var | while | xor |
__CLASS__ | __DIR__ (начиная с PHP 5.3) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__ |
__NAMESPACE__ (начиная с PHP 5.3) | __TRAIT__ (начиная с PHP 5.4) |