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 相关文章推荐
一个目录遍历函数
Oct 09 PHP
php FPDF类库应用实现代码
Mar 20 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
Jul 18 PHP
PHP gbk环境下json_dencode传送来的汉字
Nov 13 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 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
网络资源
2006/10/09 PHP
加速XP搜索功能堪比vista
2007/03/22 PHP
ajax php 实现写入数据库
2009/09/02 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
python实现文本文件合并
2015/12/29 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python正则表达式完全指南
2017/05/25 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
小学生学习感言
2014/03/10 职场文书
体育运动口号
2014/06/09 职场文书
财务稽核岗位职责
2015/04/13 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS