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中使用Oracle数据库(4)
Oct 09 PHP
php curl post 时出现的问题解决
Jan 30 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
php微信公众号开发之现金红包
Apr 16 PHP
详解php命令注入攻击
Apr 06 PHP
php实现文件上传基本验证
Mar 04 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
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
Js中sort()方法的用法
2006/11/04 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
webpack写jquery插件的环境配置
2017/12/21 jQuery
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
django 发送邮件和缓存的实现代码
2018/07/18 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
幼儿园教师的考核评语
2014/04/18 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
安全保证书
2015/01/16 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL