For example, is the following program meaningful, and if so what should it print?
<?php
FuncTIon fOo($x) { eChO $x; }
FOO('bar');
IF (TRuE) { echO 'qux'; }
?>
My interpreter runs it and prints barqux
, implying the keywords are not case-sensitive:
$ php case_sensitive_keywords.php
barqux
$ php --version
PHP 5.5.7-1+sury.org~precise+1 (cli) (built: Dec 12 2013 21:37:40)
However, this same question was asked last year, and the answers say that keywords are case-sensitive, in direct contradiction to what my PHP interpreter appears to tell me!
Case sensitive (both user defined and PHP defined)
- variables
- constants
- array keys
- class properties
- class constants
Case insensitive (both user defined and PHP defined)
- functions
- class constructors
- class methods
- keywords and constructs (if, else, null, foreach, echo etc.)
No. Keywords are case-insensitive. Lerdorf et al., Programming PHP, page 17:
The names of user-defined classes and functions, as well as built-in
constructs and keywords such as echo
, while
, class
, etc., are
case-insensitive. Thus, these three lines are equivalent:
echo("hello, world");
ECHO("hello, world");
EcHo("hello, world");