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