PHP中的函数和方法不区分大小写,如下面的示例所示。
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
但这不是变量的情况。理由是什么?
发布于 2011-06-10 13:52:06
让我引用一下Interview – PHP’s Creator, Rasmus Lerdorf的话
的第一个版本是一组简单的工具,我将它们组合在一起用于我的网站和一些项目。一个工具在mSQL数据库中做了一些奇特的日志记录,另一个工具则充当表单数据解释器。在我感到厌烦之前,我用C语言编写了大约30个不同的CGI程序,并将它们组合到一个C库中。然后,我编写了一个非常简单的解析器,它将从HTML文件中提取标签,并将它们替换为C库中相应函数的输出。
简单的解析器慢慢地包含了条件标签,然后是循环标签,函数等等。我从来没有想过我是在写脚本语言。我只是向宏替换解析器添加了一点功能。我仍然在用C语言编写我所有真正的业务逻辑。
我在某处读到过,由于所有引入的函数本质上感觉就像HTML文档中的标签,而且HTML标签不区分大小写,所以他选择PHP中的函数名称区分大小写。后来,这个特性在语言中保留了下来。
发布于 2010-05-01 19:52:12
是的,函数和方法名称不区分大小写。
是的,变量名是区分大小写的。
我不确定这是不是有原因--除非这种方式已经存在很长一段时间了,而且由于向后兼容性的原因,这种情况仍然存在。
作为参考,有几个指向手册各个页面的链接/引文:
For函数()
注意:函数名称不区分大小写,尽管调用函数通常是一种很好的形式,因为它们出现在函数的声明中。
方法并不比对象中的函数更多--特别是当我们考虑到PHP4和向后兼容性时。
对于变量(quoting):
PHP语言中的
变量由一个美元符号后跟变量名表示。变量名区分大小写。
对象属性并不比对象中的变量更多-- PHP4和向后兼容性也是如此。
https://stackoverflow.com/questions/2749781
复制相似问题