1. 程式人生 > >常量和變數的區別

常量和變數的區別

常量是一個簡單值的識別符號(名字)。如同其名稱所暗示的,在指令碼執行期間該值不能改變(除了所謂的魔術常量,它們其實不是常量)。常量預設為大小寫敏感。按照慣例常量識別符號總是大寫的。 
define("haha","hello!");
echo haha;
輸出hello!
變數總是傳值賦值。那也就是說,當將一個表示式的值賦予一個變數時,整個原始表示式的值被賦值到目標變數。
$haha=hoho;
echo $haha;
會輸出hoho
靜態變數僅在區域性函式域中存在,但當程式執行離開此作用域時,其值並不丟失。
看個例子:
這個沒用靜態變數<?PHP
   function Test()
   {
   $haha= 0;
   echo $haha;
   $haha++;
   }
   ?>
這裡邊的變數加一是沒用的,在呼叫這個函式時會輸出“0”,但這個變數在函式外是不存在的,在看看下邊的
function Test()
   {
    static $haha= 0;
   echo $haha;
   $haha++;
   }
   ?>
現在,每次呼叫 Test() 函式都會輸出 $haha 的值並加一。
1,常量前沒有美元符號
2,常量只能用define()函式定義,而不能通過賦值語句
3,常量可以不用理會變數範圍的規則而在任何地方定義和訪問
4,常量一旦定義就不能被重新定義或取消定義
5,常量的值只能是標量