PHP對大小寫敏感問題的處理比較亂,寫代碼時可能偶爾出問題,所以這裡總結一下。
但我不是鼓勵大家去用這些規則。推薦大家始終堅持“大小寫敏感”,遵循統一的代碼規范。
1. 變量名區分大小寫
復制代碼 代碼如下:
<?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
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
PHP變量名區分大小寫,函數名不區分大小寫,經常被新手忽視的小細節,測試如下.
PHP變量名區分大小寫測試:
復制代碼 代碼如下:
<?php
$aaa = "jb51.net";
$AAA = "JB51.CN";
echo $aaa.'-'.$AAA; //jb51.net-JB51.CN
?>
PHP函數名不區分大小寫測試:
復制代碼 代碼如下:
<?php
function bbb(){
echo 'abc';
}
function BBB(){
echo "Abc";
}
?>
上面這段代碼會報錯:( ! ) Fatal error: Cannot redeclare BBB()