PHP大小写是否敏感问题的汇总

来源:互联网 发布:网络电话卡代理合同 编辑:程序博客网 时间:2024/05/23 18:29

总结:php对变量,常量的大小写敏感。对类名,方法名大小写不敏感。深入说还有就是对null,false,true等也不敏感,对php.ini里的配置参数也敏感。

PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。

但我不是鼓励大家去用这些规则。  推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。

一、大小写敏感

1. 变量名区分大小写

viewsource
print?
1<?php
2$abc ='abcd';
3echo $abc;//输出 'abcd'
4echo $aBc;//无输出
5echo $ABC;//无输出

2. 常量名默认区分大小写,通常都写为大写

(但没找到能改变这个默认的配置项,求解)

viewsource
print?
1<?php
2define("ABC","Hello World");
3echo ABC;  //输出 HelloWorld
4echo abc;  //输出abc

3. php.ini配置项指令区分大小写

如 file_uploads = 1 不能写成 File_uploads = 1

二、大小写不敏感

1. 函数名、方法名、类名 不区分大小写,但推荐使用与定义时相同的名字

1<?php
2function show(){
3echo "Hello World";
4}
5show();//输出 HelloWorld   推荐写法
6SHOW();//输出 HelloWorld
1<?php
2class cls{
3static function func(){
4echo "hello world";
5}
6}
7  
8Cls::FunC();  //输出helloworld

2. 魔术常量不区分大小写,推荐大写

包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。

 
1<?php
2echo __line__//输出 2
3echo __LINE__//输出 3

3. NULL、TRUE、FALSE不区分大小写

 
01<?php
02$a =null;
03$b =NULL;
04  
05$c =true;
06$d =TRUE;
07  
08$e =false;
09$f =FALSE;
10  
11var_dump($a ==$b);//输出 booleantrue
12var_dump($c ==$d);//输出 booleantrue
13var_dump($e ==$f);//输出 booleantrue