在PHP中,变量和常量名称区分大小写,而函数名则不区分大小写。
据我所知,PHP是发生这种情况的唯一语言。我使用过的所有其他语言要么完全区分大小写,要么完全不区分大小写。
为什么PHP有部分案例敏感性?
请注意,我不是问哪个名字区分大小写,而是问为什么。
更新
我想,为了那些认为我在问哪一个问题的人,我可以补充以下清单:
区分大小写的
不区分大小写的
注意:
class关键字不区分大小写。
发布于 2017-09-17 16:07:49
为什么PHP有部分案例敏感性?
我只能推测这是源于非常早期的版本,可能是PHP/FI 2.0。手册明确地指出:
请记住,PHP/FI函数名不区分大小写。
大多数用户输入,例如GET和POST参数,都是作为全局变量注册的。将它们视为不区分大小写可能会引起问题,因此所有变量都被认为是大小写敏感的。
据我所知,这是PHP/FI 2.0中唯一的标识符。所有其他的都是后来引入的,显然是模仿了不区分大小写的函数名。
常量是特殊的,仅在PHP4时才引入( PHP 3手册提到“常量”,但现在被称为“文本”)。由于一些神秘的原因(可能找不到共识),已经决定允许常量标识符在开发人员discression上是大小写敏感的或不敏感的。有趣的是,虽然define()默认为大小写敏感常量,但相应的C对应方(REGISTER_*_CONSTANT)默认为不区分大小写。
发布于 2015-10-22 05:29:56
财政年度(更新)
区分大小写的(用户定义和PHP定义)
不区分大小写的(用户定义和PHP定义)
在php.net中
Basics
PHP中的变量由一个美元符号表示,后面跟着变量的名称。变量名区分大小写.
变量名称与PHP中的其他标签遵循相同的规则。有效的变量名以字母或下划线开头,后面跟着任意数量的字母、数字或下划线。作为正则表达式,它将这样表示:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
修正
一些有用的链接
发布于 2015-10-22 05:29:35
区分大小写的
变量、常量、数组键、类属性、类常量
不区分大小写的
函数、类构造函数、类方法、关键字和构造(if、else、null、foreach、echo等)
https://stackoverflow.com/questions/33273941
复制相似问题