程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP_Const,constphp

PHP_Const,constphp

編輯:關於PHP編程

PHP_Const,constphp


PHP_Const

常量 規則:
1 總是大寫
2 A-Z 及 從127~255的ASCII字符
3 全局范圍
4 用define函數定義
5 只能包含標量數據 如Boolean integer float string
6 前面不可加美元符

PHP自帶常量=特殊常量
不區分大小寫
_LINE_        文件中的當前行號
_FILE_        文件的完整路徑+文件名
_FUNCTION_    函數名稱
_CLASS_        類名稱
_METHOD_    類的方法名

_LINE_
php腳本行數 如果引用文件 則在引用文件內的該常量為被引用文件的行
而非引用文件的行 即向下傳遞

_FILE_
原理同上

 

define部分:
  宏不僅可以用來代替常數值,還可以用來代替表達式,甚至是代碼段。

  (宏的功能很強大,但也容易出錯,所以其利弊大小頗有爭議。)


宏的語法為:
#define 宏名稱 宏值
作為一種建議和一種廣大程序員共同的習慣,宏名稱經常使用全部大寫的字母。


利用宏的優點:
  1)讓代碼更簡潔明了
    當然,這有賴於你為宏取一個適當的名字。一般來說,宏的名字更要注重有明確直觀的意義,有時寧可讓它長點。
  2)方便代碼維護
    對宏的處理,在編譯過程中稱為“預處理”。

    也就是說在正式編譯前,編譯器必須先將代碼出現的宏,用其相應的宏值替換,這個過程有點像你我在文字處理軟件中的查找替換。所以在代碼中使用宏表達常數,歸根結底還是使用了立即數,並沒有明確指定這個量的類型。

const部分
  常量定義的格式為:
    const 數據類型 常量名 = 常量值;

    常量必須一開始就指定一個值,然後,在以後的代碼中,我們不允許改變此常量的值。

兩者之間的區別:
  1 內存空間的分配上。

    define進行宏定義的時候,不會分配內存空間,編譯時會在main函數裡進行替換,只是單純的替換,不會進行任何檢查,

    比如類型,語句結構等,即宏定義常量只是純粹的置放關系,如#define null 0;

    編譯器在遇到null時總是用0代替null它沒有數據類型(還有疑問請找C語言書籍看預處理部分或者看MSDN.

    const定義的常量 具有數據類型,

    定義數據類型的常量便於編譯器進行數據檢查,使程序可能出現錯誤進行排查,

    所以const與define之間的區別在於

      const定義常量排除了程序之間的不安全性.

      define定義全局常量,在任何地方都可以訪問

const用於類成員變量定義,只能用類名訪問不能更改要是初學這樣先理解著別太鑽牛角尖就行

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved