Are PHP keywords case-sensitive?

那年仲夏 提交于 2019-11-26 20:59:25

问题


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!


回答1:


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.)



回答2:


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");



回答3:


  1. No, Keywords are not case-sensitive.
  2. Class name & function name also not case-sensitive.


来源:https://stackoverflow.com/questions/20624257/are-php-keywords-case-sensitive

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!