前端學PHP之常量
目錄
[1]常量定義 [2]自訂常量 [3]系統常量 [4]常量取值 [5]defined()
常量定義
常量類似變數,但常量一旦被定義就無法更改或撤銷定義。常量最主要的作用是可以避免重複定義,篡改變數值,提高代碼可維護性。有效常量名以字元或底線開頭(常量名稱前面沒有$符號)。通常,常量全用大寫。PHP中的常量分為自訂常量和系統常量
[注意]與變數不同,常量貫穿整個指令碼是自動全域的
自訂常量
自訂常量使用define()函數,它使用三個參數
[1]首個參數定義常量的名稱
[2]第二個參數定義常量的值
[3]可選的第三個參數規定常量名是否對大小寫敏感,預設是false
define()函數的文法格式為:
bool define(string $constant_name, mixed $value[, $case_sensitive = true])
php$p = 'PI0';define('PI',3.14);define('PI',3.15);//無效,因為常量無法被修改定義define($p,3.14);echo PI;//3.14echo "
";echo PI0;//3.14?>
系統常量
系統常量是PHP已經定義好的常量,常見的系統常量有:
[1]__FILE__:php程式檔案名稱。擷取當前檔案在伺服器的物理位置
[2]__LINE__:PHP程式檔案行數。表示當前代碼在第幾行
[3]PHP_VERSION:當前解析器的版本號碼。可以提前知道PHP代碼是否可被該PHP解析器解析
[4]PHP_OS:執行當前PHP版本的作業系統名稱。告訴伺服器所用的作業系統名稱,根據該作業系統最佳化代碼
phpecho __FILE__;//D:\wamp\www\1.phpecho "
";echo __LINE__;//11echo "
";echo PHP_VERSION;//5.5.12echo "
";echo PHP_OS;//WINNTecho "
";?>
常量取值
擷取常量值有兩種方法:一種是使用常量名直接擷取值;另一種是使用constant()函數
constant()函數文法格式為:mixed constant(string constant_name)
php$p;define("PI1",3.14);define("PI2",3.142);$height = "中";if($height == "中"){ $p = "PI1";}else{ $p = "PI2";}$r = 1;$area = constant("PI") * $r * $r;echo $area;?>
defined()函數
如果常量被重複定義後,PHP解析器會發出"Constant XXX already defined"的警告,提醒該常量已被定義過
defined()函數用來判斷一個常量是否已經定義,其文法格式為:
bool defined(string constants_name)
若存在則返回true,否則返回false
php define("PI1",3.14);$p = "PI1";$is1 = defined($p);$is2 = defined("PI2");var_dump($is1);//bool(true)var_dump($is2);//bool(false)?>