php大小写敏感问题的总结(实用型)

发布时间:2020-10-21编辑:脚本学堂
我们知道,PHP语言对大小写敏感问题的处理有点乱,在编程时需要多加注意,特别是在linux平台中更要注意。本文对这一问题做个总结,供大家学习参考。

说明:
不鼓励用这些规则,仅作为学习研究之用。
在编程中,应当坚持“大小写敏感”,遵循统一的代码规范。
 
一、大小写敏感
1. 变量名区分大小写
所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV 等;
例子:
 

复制代码 代码示例:
<?php 
$abc = 'abcd'; 
echo $abc; //输出 'abcd' 
echo $aBc; //无输出 
echo $ABC; //无输出
?>

2. 常量名默认区分大小写,通常都写为大写
(但没找到能改变这个默认的配置项,求解)
例子:
 

复制代码 代码示例:
<?php 
define("ABC","Hello World"); 
echo ABC;   //输出 Hello World 
echo abc;   //输出 abc
?>

3. php.ini配置项指令区分大小写
如 file_uploads = 1 不能写成 File_uploads = 1

二、大小写不敏感
1. 函数名、方法名、类名 不区分大小写,但推荐使用与定义时相同的名字
例子:
 

复制代码 代码示例:
<?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
?>

2. 魔术常量不区分大小写,推荐大写
包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、 __NAMESPACE__。
例子:
 

复制代码 代码示例:
<?php
echo __line__; //输出 2
echo __LINE__; //输出 3
?>

3. 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
?>

4.类型强制转换,不区分大小写
包括
 

(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)
?>