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 相关文章推荐
Windows下的PHP5.0安装配制详解
Sep 05 PHP
也谈php网站在线人数统计
Apr 09 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
基于PHP对XML的操作详解
Jun 07 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
PHP简单实现正则匹配省市区的方法
Apr 13 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 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导入导出excel实例
2013/10/25 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
js 学习笔记(三)
2009/12/29 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
浅谈js中的闭包
2015/03/16 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
区三好学生主要事迹
2014/01/30 职场文书
挂靠协议书范本
2014/04/22 职场文书
实践单位评语
2014/04/26 职场文书
党校个人总结
2015/03/04 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS