基本概念:常量是乙個簡單值的識別符號(名字)。如同其名稱所暗示的,在指令碼執行期間該值不能改變(除了所謂的魔術常量,它們其實不是常量)。常量預設為大小寫敏感。通常常量識別符號是大寫的。
定義方式:可以用 define() 函式來定義常量,通過defined()判斷常量是否被定義。
常量定義後,不能再改變或者取消定義。
常量資料:常量只能包含標量資料(boolean,integer,float 和 string),雖然也可以定義 resource常量,但應盡量避免,因為會造成不可預料的結果。
讀取方式:可以簡單的通過指定其名字來取得常量的值(不應該在常量前面加上 $符號
)。如果常量名是動態的,也可以用函式constant() 來獲取常量的值。
get_defined_constants()可以獲得所有已定義的常量列表。
常量和變數有如下不同:
·常量前面沒有美元符號($);
常量只能用 define() 函式定義,而不能通過賦值語句;
常量可以不用理會變數的作用域而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標量。
操作例項:
example #1 定義常量
<?php
define("constant", "hello world.");//定義乙個常量
echo constant; // outputs "hello world."
echo constant; // 輸出 "constant" 並發出乙個提示性資訊
?>
example #2 使用關鍵字 const 定義常量
<?php
// 以下**在 php 5.3.0 後可以正常工作
const constant = 'hello world';
echo constant;
?>
example #3 合法與非法的常量名
<?php
// 合法的常量名
define("foo", "something");
define("foo2", "something else");
define("foo_bar", "something more");
// 非法的常量名
define("2foo", "something");
//下面的定義是合法的,但應該避免這樣做:(自定義常量不要以__開頭)
// 也許將來有一天php會定義乙個__foo__的魔術常量
// 這樣就會與你的**相衝突
define("__foo__", "something");
?>
常見疑問:在php中定義常量時,const與define的區別?
【答】使用const使得**簡單易讀,const本身就是乙個語言結構,而define是乙個函式。另外const在編譯時要比define快很多。
(1).const用於類成員變數的定義,一經定義,不可修改。define不可用於類成員變數的定義,可用於全域性常量。
(2).const可在類中使用,define不能。
(3).const不能在條件語句中定義常量。
例如:
if (...)
if (...)
(4).const採用乙個普通的常量名稱,define可以採用表示式作為名稱。
const foo = 'bar';
for ($i = 0;$i < 32; ++$i)
(5).const只能接受靜態的標量,而define可以採用任何表示式。
例如:
const bit_5 = 1 <<5; //無效的invalid
define('bit_5', 1 << 5); //有效的valid
(6).const定義的常量時大小寫敏感的,而define可通過第三個引數(為true表示大小寫不敏感)來指定大小寫是否敏感。
例如:
define('foo', 'bar', true);
echo foo; //bar
echo foo; //bar
定義php常量的詳解
常量可以理解為值不變的變數。常量值被定義後,在指令碼的其他任何地方都不能被改變。乙個常量由英文本母 下劃線 和數字組成,但 數字不能作為首字母出現。在php中使用defaine 函式來定義常量,該函式的語法格式為 define string constant name,mixed value,cas...
php類常量的使用詳解
注意 不像其他的物件導向程式設計語言,在php中,類不能對某個屬性變數使用final修飾符。如果要宣告某個屬性為常量,可以使用const關鍵字,並且無需使用美元符號作為變數名字首,也無需使用訪問許可權修飾符。常量意味著雖然可以訪問該變數,但不能修改該變數的值。例如下邊的 宣告了常量屬性con var...
什麼是php常量 PHP 常量
一 概念 用於儲存乙個不會變化也不希望變化的資料的標示符。常量名一般用全大寫 二 定義形式 方法一 define 常量名 常量值 常量值為字串要加引號。方法二 const 常量名 常量值 注意 const語法只能在 最頂層 的 域中使用 不能在大括號中 不能在函式中或條件語句中或其他表示乙個 範圍 ...