PHP 常量
PHP常量是在腳本執(zhí)行期間無(wú)法更改的名稱或標(biāo)識(shí)符,除了魔法常量,這些也不是真正的常量。愛(ài)掏網(wǎng) - it200.comPHP常量可以通過(guò)以下兩種方式定義:
- 使用define()函數(shù)
- 使用const關(guān)鍵字
常量與變量類似,只不過(guò)一旦定義,它們就不能被取消定義或更改。愛(ài)掏網(wǎng) - it200.com它們?cè)谡麄€(gè)程序中保持不變。愛(ài)掏網(wǎng) - it200.comPHP常量遵循與PHP變量相同的規(guī)則。愛(ài)掏網(wǎng) - it200.com
例如 ,它只能以字母或下劃線開(kāi)頭。愛(ài)掏網(wǎng) - it200.com
按照慣例,PHP常量應(yīng)該定義為大寫字母。愛(ài)掏網(wǎng) - it200.com
注意:與變量不同,常量在整個(gè)腳本中自動(dòng)成為全局變量。愛(ài)掏網(wǎng) - it200.com
使用define()函數(shù)創(chuàng)建常量。愛(ài)掏網(wǎng) - it200.com它在運(yùn)行時(shí)定義常量。愛(ài)掏網(wǎng) - it200.com讓我們看一下PHP中define()函數(shù)的語(yǔ)法。愛(ài)掏網(wǎng) - it200.com
define(name, value, case-insensitive)
- name: 指定常量的名稱。愛(ài)掏網(wǎng) - it200.com
- value: 指定常量的值。愛(ài)掏網(wǎng) - it200.com
- case-insensitive: 指定常量是否不區(qū)分大小寫。愛(ài)掏網(wǎng) - it200.com默認(rèn)值為false,意味著默認(rèn)情況下是區(qū)分大小寫的。愛(ài)掏網(wǎng) - it200.com
讓我們看一個(gè)使用define()定義PHP常量的示例。愛(ài)掏網(wǎng) - it200.com
文件:constant1.php
<?php
define("MESSAGE","Hello JavaTpoint PHP");
echo MESSAGE;
?>
輸出:
Hello JavaTpoint PHP
創(chuàng)建一個(gè)帶有 不區(qū)分大小寫 名稱的常量:
文件:constant2.php
<?php
define("MESSAGE","Hello JavaTpoint PHP",true);//not case sensitive
echo MESSAGE, "</br>";
echo message;
?>
輸出:
Hello JavaTpoint PHP
Hello JavaTpoint PHP
文件:constant3.php
<?php
define("MESSAGE","Hello JavaTpoint PHP",false);//case sensitive
echo MESSAGE;
echo message;
?>
輸出:
Hello JavaTpoint PHP
Notice: Use of undefined constant message - assumed 'message'
in C:\wamp\www\vconstant3.php on line 4
message
PHP常量:const關(guān)鍵字
PHP引入了一個(gè)關(guān)鍵字 const 來(lái)創(chuàng)建常量。愛(ài)掏網(wǎng) - it200.comconst關(guān)鍵字用于在編譯時(shí)定義常量。愛(ài)掏網(wǎng) - it200.com它是一個(gè)語(yǔ)言結(jié)構(gòu),而不是一個(gè)函數(shù)。愛(ài)掏網(wǎng) - it200.com使用const關(guān)鍵字定義的常量 區(qū)分大小寫 。愛(ài)掏網(wǎng) - it200.com
文件: constant4.php
<?php
const MESSAGE="Hello const by JavaTpoint PHP";
echo MESSAGE;
?>
輸出:
Hello const by JavaTpoint PHP
常量(Constant)函數(shù)
除了使用echo語(yǔ)句來(lái)打印常量的值,還可以使用constant()函數(shù)的方式來(lái)打印。愛(ài)掏網(wǎng) - it200.com
語(yǔ)法
以下是constant函數(shù)的語(yǔ)法:
constant (name)
文件:constant5.php
<?php
define("MSG", "JavaTpoint");
echo MSG, "</br>";
echo constant("MSG");
//both are similar
?>
輸出:
JavaTpoint
JavaTpoint
常量 vs 變量
常量 | 變量 |
---|---|
一旦常量被定義,就不能重新定義。愛(ài)掏網(wǎng) - it200.com | 變量可以被輕松地未定義和重新定義。愛(ài)掏網(wǎng) - it200.com |
常量只能使用define()函數(shù)來(lái)定義。愛(ài)掏網(wǎng) - it200.com它不能通過(guò)任何簡(jiǎn)單的賦值定義。愛(ài)掏網(wǎng) - it200.com | 變量可以通過(guò)簡(jiǎn)單的賦值(= )操作符來(lái)定義。愛(ài)掏網(wǎng) - it200.com |
在賦值過(guò)程中,常量之前不需要使用美元($ )符號(hào)。愛(ài)掏網(wǎng) - it200.com |
聲明變量時(shí),始終在變量前使用美元($ )符號(hào)。愛(ài)掏網(wǎng) - it200.com |
常量不遵循任何變量作用域規(guī)則,它們可以在任何地方定義和訪問(wèn)。愛(ài)掏網(wǎng) - it200.com | 變量可以在程序的任何地方聲明,但它們遵循變量作用域規(guī)則。愛(ài)掏網(wǎng) - it200.com |
常量是其值在整個(gè)程序中不可更改的變量。愛(ài)掏網(wǎng) - it200.com | 變量的值可以更改。愛(ài)掏網(wǎng) - it200.com |
默認(rèn)情況下,常量是全局的。愛(ài)掏網(wǎng) - it200.com | 變量可以是局部的、全局的或靜態(tài)的。愛(ài)掏網(wǎng) - it200.com |