У этих слов есть специальное значение в 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) |