麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php中define()與const的區別詳解

2024-09-04 11:48:14
字體:
來源:轉載
供稿:網友

在php中define()與const()都可以定義常量,那么define()與const的區別到底在哪里呢,這個很多程序員都不明白,下面我給大家介紹一些關于此函數用法比對吧。

define()與const的區別:

define() 在執行期定義常量,而 const 在編譯期定義常量。這樣 const 就有輕微的速度優勢(即性能稍微好點),但不值得考慮這個問題,除非你在構建大高并發系統。

define() 將常量放入全局作用域,即使在命名空間中使用define方法定義常量也屬于全局作用域的。不能使用 define() 定義類常量(類常量使用const定義),命名空間作用域內的常量使用const定義如: namespace const ABC=’100′;。

define() 允許你在常量名和常量值中使用表達式,而 const 則都不允許。 這使得 define() 更加靈活。

define() 可以在 if() 代碼塊中調用,但 const 不行,在同一作用域下,define()常量名和const定義的常量名不能相同,const可以定義類常量和命名空間常量.如

namespace abc; const ABC = ‘a’; class hello { const C_NUM = 8; }

代碼如下:

  1. if (...) {  
  2.     const FOO = 'BAR';    // invalid  
  3. }  
  4.  
  5. but  
  6.  
  7. if (...) {  
  8.     define('FOO''BAR'); // valid  

const采用一個普通的常量名稱,define可以采用表達式作為名稱,代碼如下:

  1. const  FOO = 'BAR';  
  2. for ($i = 0; $i < 32; ++$i) {  
  3.     define('BIT_' . $i, 1 << $i);  

const只能接受靜態的標量,而define可以采用任何表達式,代碼如下:

  1. const BIT_5 = 1 << 5;    // invalid  
  2. but 
  3. define('BIT_5', 1 << 5); // valid 

const 總是大小寫敏感,然而define()可以通過第三個參數來定義大小寫不敏感的常量,代碼如下:

  1. define('FOO''BAR', true); 
  2. echo FOO; // BAR  
  3. echo foo; // BAR 

總結:使用const簡單易讀,它本身是一個語言結構,而define是一個方法,用const定義在編譯時比define快很多。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: chinese xxxx hd pron8 tube | 网站激情| 日产精品久久久一区二区开放时间 | 免费午夜网站 | 日本a在线观看 | 国产免费一区二区三区 | 成人做爽爽爽爽免费国产软件 | 久国产精品视频 | 精品在线观看一区 | 2021国产精品 | 欧美一级黄色免费看 | 亚洲午夜一区二区三区 | 国产正在播放 | 激情综合网俺也去 | 在线看免费观看av | 国产在线精品一区二区 | 黄色视频a级毛片 | 伊人网站 | 国产99久久久国产精品 | 日本成人在线免费 | 国产精品免费一区二区三区四区 | 曰韩在线视频 | 一区二区国产在线 | 国产精品1区 | 欧美精品成人一区二区在线观看 | 禁漫天堂久久久久久久久久 | 国产精品午夜未成人免费观看 | 久在线播放 | 国产精品久久久久久久久久了 | 黄色成人短视频 | 牛牛视频在线 | 欧美中文字幕一区二区 | www.99tv | 一级电影免费 | 欧美精品v国产精品v日韩精品 | 羞羞的视频免费 | 精品久久久久久久久亚洲 | 久久艹艹艹 | 午夜精品福利在线观看 | 狠狠操电影 | 99这里精品 |