站長資訊網
        最全最豐富的資訊網站

        php define有什么用

        在php中,define()函數用于定義一個常量,語法“define($name, $value , $case_insensitive)”;參數“$case_insensitive”用于指定常量是否大小寫敏感,默認是大小寫敏感的,值設定為true則表示大小寫不敏感。常量一旦被定義就不能被重新定義或者取消定義。

        php define有什么用

        本教程操作環境:windows7系統、PHP8版、DELL G3電腦

        define是PHP中的一個內置函數,用于定義一個常量。

        常量是一個簡單的標識符。在腳本執行期間該值不能改變(除了所謂的魔術常量,他們其實不是常量)。常量默認大小寫敏感。通常常量標識符總是大寫的。

        常量類似變量,不同之處在于:在設定以后,常量的值無法更改常量名,不需要開頭的美元符號 ($),作用域不影響對常量的訪問,常量值只能是字符串或數字。

        define()函數定義常量

        合法的常量名只能以字母和下劃線開始,后面可以跟著任意長度的字母、數字或下劃線。在 PHP 中可以通過 define() 函數定義一個常量,define() 函數的語法如下:

        define($name, $value , $case_insensitive)
        登錄后復制

        • $name 必選參數,常量名稱(需要使用雙引號或單引號包裹)

        • $value 必選參數,常量的值

        • $case_insensitive 可選參數,指定是否大小寫敏感,默認是大小寫敏感的,設定為 true 則表示大小寫不敏感

        <?php header("Content-type:text/html;charset=utf-8"); define('WebSite', 'php中文網'); echo WebSite.'<br>'; ?>
        登錄后復制

        php define有什么用

        擴展知識:

        const關鍵字定義常量

        在php5.3.0以后,可以使用const關鍵字在類定義的外部定義常量,先前版本const關鍵字只能在類(class)中使用。

        語法:

        const 常量名 = 常量值;
        登錄后復制

        示例:

        <?php const FOO = 'BAR'; echo FOO.'<br>'; ?>
        登錄后復制

        define() 和 const 的區別:

        const是在編譯時定義常量,而define()方法是在運行時定義常量。

        const不能用在if語句中, defne()能用在if語句中。

        if(...) {     const FOO = 'BAR';//錯誤 } if(...) {     define('FOO', 'BAR');//正確 }
        登錄后復制

        define()的一個常用場景是先判斷常量是否已經定義再定義常量:

        if(defined('FOO)) {     define('FOO', 'BAR') }
        登錄后復制

        const 定義常量時,值只能是靜態標量(數字, 字符串, true,false, null), 而define()方法可以把任意表達式的值用作常量的值。從PHP5.6開始const也允許把表達式用作常量的值了。

        const BIT_5 = 1 << 5; //PHP5.6后支持,之前的PHP版本不支持 define('BIT_5', 1 << 5);// 所有PHP版本都支持const 只允許簡單的常量名,而define()可以把任何表達式的值用作常量名
        登錄后復制

        for ($i = 0; $i < 32; $i++) {     define('BIT_' . $i, 1 << $i); }
        登錄后復制

        const 定義的常量常量名是大小寫敏感的,而傳遞true給define()方法的第三個參數時可以定義大小寫不敏感的常量。

        define('FOO', 'BAR', true); echo FOO; //BAR echo foo; //BAR
        登錄后復制

        上面列舉的都是const相較define()而言的一些缺點或者不靈活的地方,下面我們看一下為什么我個人推薦用const而不是define()來定義常量(除非要在上述列舉的場景中定義常量)。

        const 具有更好的可讀性,const是語言結構而不是函數,而且與在類中定義類常量的形式保持一致。

        const在當前的命名空間中定義常量, 而define()要實現類似效果必須在定義時傳遞完整的命名空間名稱:

        namespace ABC; //To define the constant ABCFOO: const FOO = 'BAR'; define('ABCFOO', 'BAR');
        登錄后復制

        推薦學習:《PHP視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久99热这里只有精品国产| 四虎成人精品在永久在线| 欧美日韩在线精品一区二区三区激情综合| 久久国产精品一国产精品金尊| 国产精品麻豆入口| 97视频在线观看这里只有精品| 亚洲午夜国产精品无码老牛影视| 国产综合免费精品久久久| 精品国产第1页| 国产成人精品白浆久久69| 亚洲日韩欧美制服精品二区| 精品国产一区二区三区2021| 2024国产精品极品色在线| 99久久久精品| 久久99国产综合精品免费| 亚洲乱码日产精品a级毛片久久| 精品国产91久久久久久久a| 国产精品va久久久久久久| 色偷偷888欧美精品久久久| 3D动漫精品一区二区三区| 精品黑人一区二区三区| 青草国产精品久久久久久| 亚洲精品自产拍在线观看| 无码日韩精品一区二区人妻| 久久久无码精品午夜| 精品乱码久久久久久夜夜嗨| 国产精品无码免费播放| 92精品国产自产在线观看| 99riav国产精品| 亚洲精品在线观看视频| 永久免费精品视频| 99re66在线观看精品免费 | 日韩人妻无码精品无码中文字幕 | 国产产无码乱码精品久久鸭| 精品无码人妻夜人多侵犯18| 久久精品麻豆日日躁夜夜躁| 久久精品国产第一区二区三区| 色欲久久久天天天综合网精品| 无码精品国产一区二区三区免费| 欧美精品v欧洲精品| 国产亚洲精品精华液|