define可以定義函式嗎 PHP常量的定義和用法

2021-10-13 18:07:01 字數 952 閱讀 5593

我們通常把不經常變的值定義成常量,常量一般用全部大寫來表示,前面不加美元符號,也可減少團隊開發的出錯。那麼define和const有什麼區別呢?

1、const是乙個語言結構;而define是乙個函式,可以通過第三個引數來指定是否區分大小寫。true表示大小寫不敏感,預設為false

define('pi', 3.14, true);
2、const簡單易讀,編譯時要比define快很多。3、const可在類中使用,用於類成員常量定義,定義後不可修改;define不能在類中使用,可用於全域性變數

class myclass

}

4、const是在編譯時定義,因此必須處於最頂端的作用區域,不能在函式,迴圈及if條件中使用;而define是函式,也就是能呼叫函式的地方都可以使用

if (...)

if (...)

5、const只能用普通的常量名,define常量名中可以有表示式

const  foo = 'bar';

for ($i = 0; $i < 32; ++$i)

6、const定義的常量只能是靜態常量,define可以是任意表示式

const bit_5 = 1 << 5;    // valid since php 5.6

define('bit_5', 1 << 5); // 有效的valid

或 者關注我每天分享技術文章高階php架構師​www.zhihu.com

define可以定義函式嗎 PHP常量的定義和使用

一 常量的定義 php中 php 4及以後 我們可以使用函式define 來定義常量,例如 define pi 3.14159 定義乙個名為pi的常量 echo pi 輸出 3.14159 php 5.3.0之後,除了使用函式define 之外,我們還可以使用php關鍵字const來定義常量 以下 ...

純虛函式可以定義了

今天看設計模式,其中突然間看到純虛函式竟然被定義了,和之前看到的明顯不對啊,之前記得是純虛函式是不可以定義的,具體的定義實現只能到子類中去實現,在父類中只能宣告。結果自己程式設計發現這是可以的,瞬間打破了自定曾經的知識結構,於是查詢相關方面的知識發現 純虛函式不是不可以定義,而是沒有作用,對於含有純...

區域性變數可以定義私有修飾型別嗎

問題闡述 專家解答 在 j a 語言中,可以使用 private protected 和 public 修飾類 成員變數和方法,但是不可以使用 private protected 和 public 修飾區域性變數。final 可以用來修飾區域性變數,但這樣修飾後它會變為常量。例如 package c...