目录(?)[-]
一大小写敏感
变量名区分大小写
常量名默认区分大小写通常都写为大写
phpini配置项指令区分大小写
二大小写不敏感
函数名方法名类名 不区分大小写但推荐使用与定义时相同的名字
魔术常量不区分大小写推荐大写
NULLTRUEFALSE不区分大小写
类型强制转换不区分大小写
PHP对大小写敏感问题的处理比较乱,大家一定要注意。推荐大家始终坚持“大小写敏感”。这里面需要注意的是类和函数不区分大小写。但即使你疏忽了,在调试时解释器也会抓住这个错误的。
一、大小写敏感
1. 变量名区分大小写
所有变量均区分大小写,包括普通变量以 及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV 等;
1 | <?php |
2 | $abc = 'abcd' ; |
3 | echo $abc ; //输出 'abcd' |
4 | echo $aBc ; //无输出 |
5 | echo $ABC ; //无输出 |
2. 常量名默认区分大小写,通常都写为大写
(但没找到能改变这个默认的配置项,求解)
1 | <?php |
2 | define( "ABC" , "Hello World" ); |
3 | echo ABC; //输出 Hello World |
4 | echo abc; //输出 abc |
3. php.ini配置项指令区分大小写
如 file_uploads = 1 不能写成 File_uploads = 1
二、大小写不敏感
1. 函数名、方法名、类名 不区分大小写,但推荐使用与定义时相同的名字
1 | <?php |
2 | function show(){ |
3 | echo "Hello World" ; |
4 | } |
5 | show(); //输出 Hello World 推荐写法 |
6 | SHOW(); //输出 Hello World |
1 | <?php |
2 | class cls{ |
3 | static function func(){ |
4 | echo "hello world" ; |
5 | } |
6 | } |
7 |
8 | Cls::FunC(); //输出hello world |
2. 魔术常量不区分大小写,推荐大写
包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、 __NAMESPACE__。
1 | <?php |
2 | echo __line__ ; //输出 2 |
3 | echo __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 |
11 | var_dump( $a == $b ); //输出 boolean true |
12 | var_dump( $c == $d ); //输出 boolean true |
13 | var_dump( $e == $f ); //输出 boolean true |
4.类型强制转换,不区分大小写
包括
(int),(integer) – 转换成整型
(bool),(boolean) – 转换成布尔型
(float),(double),(real) – 转换成浮点型
(string) – 转换成字符串
(array) – 转换成数组
(object) – 转换成对象