php的大小写敏感问题整理


Posted in PHP onDecember 29, 2011

PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。
但我不是鼓励大家去用这些规则。 推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。
一、大小写敏感
1. 变量名区分大小写
所有变量均区分大小写,包括普通变量以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等;

<?php 
$abc = 'abcd'; 
echo $abc; //输出 'abcd' 
echo $aBc; //无输出 
echo $ABC; //无输出

2. 常量名默认区分大小写,通常都写为大写
(但没找到能改变这个默认的配置项,求解)
1 <?php 
define("ABC","Hello World"); 
echo ABC; //输出 Hello World 
echo abc; //输出 abc

3. php.ini配置项指令区分大小写
如 file_uploads = 1 不能写成 File_uploads = 1
二、大小写不敏感
4. 函数名、方法名、类名 不区分大小写,但推荐使用与定义时相同的名字
<?php 
function show(){ 
echo "Hello World"; 
} 
show(); //输出 Hello World 推荐写法 
SHOW(); //输出 Hello World

<?php 
class cls{ 
static function func(){ 
echo "hello world"; 
} 
} 
Cls::FunC(); //输出hello world

5. 魔术常量不区分大小写,推荐大写
包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。
<?php 
echo __line__; //输出 2 
echo __LINE__; //输出 3

6. NULL、TRUE、FALSE不区分大小写
<?php 
$a = null; 
$b = NULL; 
$c = true; 
$d = TRUE; 
$e = false; 
$f = FALSE; 
var_dump($a == $b); //输出 boolean true 
var_dump($c == $d); //输出 boolean true 
var_dump($e == $f); //输出 boolean true

7.类型强制转换,不区分大小写,包括:
* (int),(integer) ? 转换成整型
* (bool),(boolean) ? 转换成布尔型
* (float),(double),(real) ? 转换成浮点型
* (string) ? 转换成字符串
* (array) ? 转换成数组
* (object) ? 转换成对象
<?php 
$a=1; 
var_dump($a); //输出 int 1 
$b=(STRING)$a; 
var_dump($b); //输出string '1' (length=1) 
$c=(string)$a; 
var_dump($c); //输出string '1' (length=1)
PHP 相关文章推荐
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
PHP新手用的Insert和Update语句构造类
Mar 31 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
php字符串分割函数用法实例
Mar 17 PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 #PHP
php站内搜索并高亮显示关键字的实现代码
Dec 29 #PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 #PHP
PHP防CC攻击实现代码
Dec 29 #PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 #PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 #PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 #PHP
You might like
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PDO实现学生管理系统
2020/03/21 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
js中less常用的方法小结
2017/08/09 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python3.7 sys模块的具体使用
2019/07/22 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
python读取Excel表格文件的方法
2019/09/02 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
如何理解委托
2012/01/06 面试题
志愿者活动总结报告
2014/06/27 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
swagger如何返回map字段注释
2021/07/03 Java/Android
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers