首頁  >  文章  >  後端開發  >  php中const與define有什麼差別?

php中const與define有什麼差別?

Guanhui
Guanhui原創
2020-07-24 13:37:532047瀏覽

php中const與define有什麼差別?

php中const與define有什麼差別?

1、函數define在PHP4和PHP5中均可使用,而const只能在PHP 5.3.0及其後的版本中使用;

2、const定義的常數是在編譯時定義的,而函數define是在執行時定義的。

區別詳細

const是在編譯階段定義常數,define是在預處理階段定義常數

const在編譯階段就定義了常數,定義常數時必須處於最頂端的作用區域。

所以不能再if等條件語句中定義。

define定義常數,又叫巨集定義,巨集可以描述為根據一系列預先定義的規則取代一定的文字模式。

define可以在分支中存在。

理論上,使用const處理速度比define會快一點點。

const只接受標量數據,(如integer, string, boolean和float等);define可以接受任意表達式

define(&#39;BIT_5&#39;, 1<<5);
constBIT_5 = 1<<5; //5.6之后才有效
从php 5.6起,const也可以接受数组和表达式
define可以接受resource类型,const不行
const常量名只能是简单字符,define可以是任意表达式
constSTR = &#39;string&#39;;
$i = 1;
define("STR_" . $i, STR);
const大小写敏感,define可以通过第三个传参控制大小写敏感。

推薦教程:《PHP

以上是php中const與define有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn