溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中怎么定義常量

發(fā)布時(shí)間:2022-02-10 09:37:18 來(lái)源:億速云 閱讀:192 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“php中怎么定義常量”,在日常操作中,相信很多人在php中怎么定義常量問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php中怎么定義常量”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

php中定義常量的方法:1、使用define()函數(shù)定義,語(yǔ)法“define(常量名, 常量值,是否大小寫(xiě)敏感)”;2、使用const關(guān)鍵字定義,語(yǔ)法“const 常量名 = 常量值;”。

php中怎么定義常量

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

php中定義常量的方法

  • define()函數(shù)

  • const關(guān)鍵字

與變量相比,常量具有以下幾個(gè)特點(diǎn):

  • 常量前面沒(méi)有美元符號(hào)($);

  • 常量只能用 define() 和 const 定義;

  • 常量的作用域是全局的;

  • 常量一旦被定義就不能被重新定義或者取消定義。

define()函數(shù)定義常量

合法的常量名只能以字母和下劃線開(kāi)始,后面可以跟著任意長(zhǎng)度的字母、數(shù)字或下劃線。在 PHP 中可以通過(guò) define() 函數(shù)定義一個(gè)常量,define() 函數(shù)的語(yǔ)法如下:

define($name, $value , $case_insensitive)
  • $name 必選參數(shù),常量名稱(需要使用雙引號(hào)或單引號(hào)包裹)

  • $value 必選參數(shù),常量的值

  • $case_insensitive 可選參數(shù),指定是否大小寫(xiě)敏感,默認(rèn)是大小寫(xiě)敏感的,設(shè)定為 true 則表示大小寫(xiě)不敏感

<?php
header("Content-type:text/html;charset=utf-8");
define('WebSite', '億速云');
echo WebSite.'<br>';
?>

php中怎么定義常量

const關(guān)鍵字定義常量

語(yǔ)法:

const 常量名 = 常量值;

示例:

<?php
const FOO = 'BAR';
echo FOO.'<br>';
?>

php中怎么定義常量

define() 和 const 的區(qū)別:

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

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

if(...) {
    const FOO = 'BAR';//錯(cuò)誤
}
if(...) {
    define('FOO', 'BAR');//正確
}

define()的一個(gè)常用場(chǎng)景是先判斷常量是否已經(jīng)定義再定義常量:

if(defined('FOO)) {
    define('FOO', 'BAR')
}

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

const BIT_5 = 1 << 5; //PHP5.6后支持,之前的PHP版本不支持
define('BIT_5', 1 << 5);// 所有PHP版本都支持const 只允許簡(jiǎn)單的常量名,而define()可以把任何表達(dá)式的值用作常量名
for ($i = 0; $i < 32; $i++) {
    define('BIT_' . $i, 1 << $i);
}

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

define('FOO', 'BAR', true);
echo FOO; //BAR
echo foo; //BAR

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

const 具有更好的可讀性,const是語(yǔ)言結(jié)構(gòu)而不是函數(shù),而且與在類中定義類常量的形式保持一致。

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

namespace A\B\C;
//To define the constant A\B\C\FOO:
const FOO = 'BAR';
define('A\B\C\FOO', 'BAR');

到此,關(guān)于“php中怎么定義常量”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI