Naming a PHP5 class "variant" (with a constructor called the same) and then making an instance of it using __autoload triggers an error which disappears as soon as the name is changed. This should mean that "variant" is also a reserved word.
Table of Contents
The following is a listing of predefined identifiers in PHP. None of the identifiers listed here should be used as identifiers in any of your scripts. These lists include keywords and predefined variable, constant, and class names. These lists are neither exhaustive or complete.
These words have special meaning in PHP. Some of them represent things which look like functions, some look like constants, and so on--but they're not, really: they are language constructs. You cannot use any of the following words as constants, class names, function or method names. Using them as variable names is generally OK, but could lead to confusion.
Table M.1. PHP Keywords
| and | or | xor | __FILE__ | exception (PHP 5) |
| __LINE__ | array() | as | break | case |
| class | const | continue | declare | default |
| die() | do | echo() | else | elseif |
| empty() | enddeclare | endfor | endforeach | endif |
| endswitch | endwhile | eval() | exit() | extends |
| for | foreach | function | global | if |
| include() | include_once() | isset() | list() | new |
| print() | require() | require_once() | return() | static |
| switch | unset() | use | var | while |
| __FUNCTION__ | __CLASS__ | __METHOD__ | final (PHP 5) | php_user_filter (PHP 5) |
| interface (PHP 5) | implements (PHP 5) | extends | public (PHP 5) | private (PHP 5) |
| protected (PHP 5) | abstract (PHP 5) | clone (PHP 5) | try (PHP 5) | catch (PHP 5) |
| throw (PHP 5) | cfunction (PHP 4 only) | old_function (PHP 4 only) | this (PHP 5 only) |
List of Reserved Words
londonx at gmail dot com
05-Mar-2007 10:14
05-Mar-2007 10:14
01-Nov-2006 12:42
Two things:
1. It would be nice for this list to differentiate those reserved words, which are language constructs used *with* parentheses (isset, unset, empty, eval, exit, die, ...) and those rather to be used *without* parentheses (all includes, echo, print, return, ...?)
This would really help define some common coding styles...
2. Do you write NULL, TRUE, FALSE or null, true, false? (I find CAPITAL letters better, however typing them can be annoying so I stick with using all lowercase letters, but what's the standard?)
al dot barrett at gmail dot com
04-May-2006 04:38
04-May-2006 04:38
The list also seems to be missing both "parent" and "self" as well.
wsapplegate at IHATESPAM dot myrealbox dot com
31-Jan-2006 05:32
31-Jan-2006 05:32
I also can't find the NULL keyword in the list. The `extends' keyword is mentioned twice, too.
10-Jan-2006 11:41
I don't see the boolean constants 'true' and 'false' listed among the reserved words/keywords/constants.
