PHP大小写是否敏感问题的汇总
2015-09-02 22:49
681 查看
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) – 转换成对象
1 | <?php |
2 | $a =1; |
3 | var_dump( $a ); //输出 int 1 |
4 |
5 | $b =(STRING) $a ; |
6 | var_dump( $b ); //输出string '1' (length=1) |
7 |
8 | $c =(string) $a ; |
9 | var_dump( $c ); //输出string '1' (length=1) |
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- ASP中让Replace替换不区分大小写的方法
- apache 环境下 php 的配置注意事项
- 库名表名大小写问题与sqlserver兼容的启动配置方法
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表