PHP對(duì)大小寫敏感問題的處理比較亂,寫代碼時(shí)可能偶爾出問題,所以這里總結(jié)一下。
但我不是鼓勵(lì)大家去用這些規(guī)則。 推薦大家始終堅(jiān)持“大小寫敏感”,遵循統(tǒng)一的代碼規(guī)范。
一、大小寫敏感
1. 變量名區(qū)分大小寫
所有變量均區(qū)分大小寫,包括普通變量以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等;
復(fù)制代碼代碼如下:
<?php
$abc = 'abcd';
echo $abc; //輸出 'abcd'
echo $aBc; //無輸出
echo $ABC; //無輸出
2. 常量名默認(rèn)區(qū)分大小寫,通常都寫為大寫
(但沒找到能改變這個(gè)默認(rèn)的配置項(xiàng),求解)
復(fù)制代碼代碼如下:
1 <?php
define("ABC","Hello World");
echo ABC; //輸出 Hello World
echo abc; //輸出 abc
3. php.ini配置項(xiàng)指令區(qū)分大小寫
如 file_uploads = 1 不能寫成 File_uploads = 1
二、大小寫不敏感
4. 函數(shù)名、方法名、類名 不區(qū)分大小寫,但推薦使用與定義時(shí)相同的名字
復(fù)制代碼代碼如下:
<?php
function show(){
echo "Hello World";
}
show(); //輸出 Hello World 推薦寫法
SHOW(); //輸出 Hello World
復(fù)制代碼代碼如下:
<?php
class cls{
static function func(){
echo "hello world";
}
}
Cls::FunC(); //輸出hello world
5. 魔術(shù)常量不區(qū)分大小寫,推薦大寫
包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。
復(fù)制代碼代碼如下:
<?php
echo __line__; //輸出 2
echo __LINE__; //輸出 3
6. NULL、TRUE、FALSE不區(qū)分大小寫
復(fù)制代碼代碼如下:
<?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.類型強(qiáng)制轉(zhuǎn)換,不區(qū)分大小寫,包括:
* (int),(integer) – 轉(zhuǎn)換成整型
* (bool),(boolean) – 轉(zhuǎn)換成布爾型
* (float),(double),(real) – 轉(zhuǎn)換成浮點(diǎn)型
* (string) – 轉(zhuǎn)換成字符串
* (array) – 轉(zhuǎn)換成數(shù)組
* (object) – 轉(zhuǎn)換成對(duì)象
復(fù)制代碼代碼如下:
<?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)