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面向对象编程快速入门
Dec 14 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
关于svn冲突的解决方法
Jun 21 PHP
php strrpos()与strripos()函数
Aug 31 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
PHP单链表的实现代码
Jul 05 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 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怎样调用MSSQL的存储过程
2006/10/09 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
php实现的顺序线性表示例
2019/05/04 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
Python简单实现子网掩码转换的方法
2016/04/13 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
解决python "No module named pip" 的问题
2018/10/13 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
家长对老师的感言
2014/03/11 职场文书
文体活动总结范文
2014/05/05 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
合作意向书范本
2019/04/17 职场文书
Python字符串格式化方式
2022/04/07 Python
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android