如题所述
常éæ¯ä¸ä¸ªç®åå¼çæ è¯ç¬¦ï¼ååï¼ãå¦åå
¶å称ææ示çï¼å¨èæ¬æ§è¡æé´è¯¥å¼ä¸è½æ¹åï¼é¤äºæè°çéæ¯å¸¸éï¼å®ä»¬å
¶å®ä¸æ¯å¸¸éï¼ã常éé»è®¤ä¸ºå¤§å°åææãé常常éæ è¯ç¬¦æ»æ¯å¤§åçã
å¯ä»¥ç¨ define() å½æ°æ¥å®ä¹å¸¸éãå¨ PHP 5.3.0 以åï¼å¯ä»¥ä½¿ç¨ const
å ³é®åå¨ç±»å®ä¹çå¤é¨å®ä¹å¸¸éï¼å åçæ¬const
å ³é®ååªè½å¨ç±»ï¼classï¼ä¸ä½¿ç¨ãä¸ä¸ªå¸¸éä¸æ¦è¢«å®ä¹ï¼å°±ä¸è½åæ¹åæè åæ¶å®ä¹ã
常éåªè½å å«æ éæ°æ®ï¼booleanï¼integerï¼float å stringï¼ã å¯ä»¥å®ä¹ resource
常éï¼ä½åºå°½éé¿å ï¼å 为ä¼é æä¸å¯é¢æçç»æã
å¯ä»¥ç®åçéè¿æå®å ¶ååæ¥åå¾å¸¸éçå¼ï¼ä¸åéä¸åï¼ä¸åºè¯¥å¨å¸¸éåé¢å ä¸ $
符å·ãå¦æ常éåæ¯å¨æçï¼ä¹å¯ä»¥ç¨å½æ°constant() æ¥è·å常éçå¼ãç¨
get_defined_constants()
å¯ä»¥è·å¾ææå·²å®ä¹ç常éå表ã
常éååéæå¦ä¸ä¸åï¼
·常éåé¢æ²¡æç¾å 符å·ï¼$ï¼ï¼
·常éåªè½ç¨ define() å½æ°å®ä¹ï¼èä¸è½éè¿èµå¼è¯å¥ï¼
·常éå¯ä»¥ä¸ç¨çä¼åéçä½ç¨åèå¨ä»»ä½å°æ¹å®ä¹å访é®ï¼
·常éä¸æ¦å®ä¹å°±ä¸è½è¢«éæ°å®ä¹æè åæ¶å®ä¹ï¼
·常éçå¼åªè½æ¯æ éã
Example #1 å®ä¹å¸¸é
<ï¼php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // è¾åº "Constant" 并ååºä¸ä¸ªæ示æ§ä¿¡æ¯
?>
Example #2 使ç¨å ³é®å const å®ä¹å¸¸é
<ï¼php
// 以ä¸ä»£ç å¨ PHP 5.3.0 åå¯ä»¥æ£å¸¸å·¥ä½
const CONSTANT = 'Hello World';
echo CONSTANT;
?>
Example #3 åæ³ä¸éæ³ç常éå
<ï¼php
// åæ³ç常éå
define("FOO",
"something");
define("FOO2",
"something else");
define("FOO_BAR", "something more");
// éæ³ç常éå
define("2FOO",
"something");
//
ä¸é¢çå®ä¹æ¯åæ³çï¼ä½åºè¯¥é¿å è¿æ ·åï¼(èªå®ä¹å¸¸éä¸è¦ä»¥__å¼å¤´)
// ä¹è®¸å°æ¥æä¸å¤©PHPä¼å®ä¹ä¸ä¸ª__FOO__çéæ¯å¸¸é
// è¿æ ·å°±ä¼ä¸ä½ ç代ç ç¸å²çª
define("__FOO__", "something");
?>
ãé®ãå¨phpä¸å®ä¹å¸¸éæ¶,constä¸defineçåºå«?
ãçã使ç¨const使å¾ä»£ç ç®åæ读ï¼constæ¬èº«å°±æ¯ä¸ä¸ªè¯è¨ç»æï¼èdefineæ¯ä¸ä¸ªå½æ°ãå¦å¤constå¨ç¼è¯æ¶è¦æ¯defineå¿«å¾å¤ã
(1).constç¨äºç±»æååéçå®ä¹ï¼ä¸ç»å®ä¹ï¼ä¸å¯ä¿®æ¹ãdefineä¸å¯ç¨äºç±»æååéçå®ä¹ï¼å¯ç¨äºå ¨å±å¸¸éã
(2).constå¯å¨ç±»ä¸ä½¿ç¨ï¼defineä¸è½ã
(3).constä¸è½å¨æ¡ä»¶è¯å¥ä¸å®ä¹å¸¸éã
ä¾å¦ï¼
if (...){
const FOO =
'BAR'; //
æ æçinvalid
}
if (...)
{
define('FOO', 'BAR'); // ææçvalid
}
(4).constéç¨ä¸ä¸ªæ®éç常éå称ï¼defineå¯ä»¥éç¨è¡¨è¾¾å¼ä½ä¸ºå称ã
const FOO = 'BAR';
for ($i = 0;
$i < 32; ++$i) {
define('BIT_' . $i, 1 << $i);
}
(5).conståªè½æ¥åéæçæ éï¼èdefineå¯ä»¥éç¨ä»»ä½è¡¨è¾¾å¼ã
ä¾å¦ï¼
const BIT_5 = 1 <<
5; //
æ æçinvalid
define('BIT_5', 1 << 5); //
ææçvalid
(6).constå®ä¹ç常éæ¶å¤§å°åææçï¼èdefineå¯éè¿ç¬¬ä¸ä¸ªåæ°ï¼ä¸ºtrue表示大å°åä¸ææï¼æ¥æå®å¤§å°åæ¯å¦ææã
ä¾å¦ï¼
define('FOO', 'BAR', true);
echo FOO; //
BAR
echo foo; //
BAR
ç¸å ³å½æ°ï¼
define â
å®ä¹ä¸ä¸ªå¸¸é
说æï¼
bool define ( string $name , mixed $value [,
bool $case_insensitive = false ]
åæ°ï¼
name ï¼å¸¸éåã
value ï¼å¸¸éçå¼ï¼ä» å 许æ éå nullãæ éçç±»åæ¯ integerï¼
floatï¼string æè booleanã ä¹è½å¤å®ä¹å¸¸éå¼çç±»å为 resource ï¼ä½å¹¶ä¸æ¨èè¿ä¹åï¼å¯è½ä¼å¯¼è´æª
ç¥ç¶åµçåçã
case_insensitive ï¼å¦æ设置为
TRUEï¼è¯¥å¸¸éå大å°åä¸ææãé»è®¤æ¯å¤§å°åææçãæ¯å¦ï¼ CONSTANT å Constant 代表äºä¸åçå¼ãï¼Note:
大å°åä¸ææç常é以å°å
çæ¹å¼å¨åãï¼
è¿åå¼ï¼æåæ¶è¿å TRUEï¼ æè å¨å¤±è´¥æ¶è¿å FALSE.
constant â
è¿åä¸ä¸ªå¸¸éçå¼
说æï¼
mixed constant ( string $name )
éè¿ name è¿å常éçå¼ãå½ä½ ä¸ç¥é常éåï¼å´éè¦è·å常éçå¼æ¶ï¼constant()
å°±å¾æç¨äºãä¹å°±æ¯å¸¸éåå¨åå¨ä¸ä¸ªåééï¼æè ç±å½æ°è¿å常éåã该å½æ°ä¹éç¨
class constantsã
åæ°ï¼
name ï¼å¸¸éåã
è¿åå¼ï¼
è¿å常éçå¼ãå¦æ常éæªå®ä¹åè¿å NULLã
defined â
æ£æ¥æ个å称ç常éæ¯å¦åå¨
说æï¼
bool defined ( string $name )
æ£æ¥è¯¥å称ç常éæ¯å¦å·²å®ä¹ã
Note: å¦æä½ è¦æ£æ¥ä¸ä¸ªåéæ¯å¦åå¨ï¼è¯·ä½¿ç¨ isset()ã defined()
å½æ°ä» 对 constants ææãå¦æä½ è¦æ£æµä¸ä¸ªå½æ°æ¯å¦åå¨ï¼ä½¿ç¨ function_exists()ã
åæ°ï¼
name ï¼å¸¸éçå称ã
è¿åå¼ï¼
å¦æ该å称ç常éå·²å®ä¹ï¼è¿å TRUEï¼æªå®ä¹åè¿å
FALSEã
get_defined_constants:
Returns an associative array with the names of all the constants
and their values
ä»¥å ³èæ°ç»è¿å常éåå常éçå¼ãè¿å æ¬é£äºç±æ©å±ä»¥åç±define()å½æ°å建ç常éã
å¯ä»¥ç¨ define() å½æ°æ¥å®ä¹å¸¸éãå¨ PHP 5.3.0 以åï¼å¯ä»¥ä½¿ç¨ const
å ³é®åå¨ç±»å®ä¹çå¤é¨å®ä¹å¸¸éï¼å åçæ¬const
å ³é®ååªè½å¨ç±»ï¼classï¼ä¸ä½¿ç¨ãä¸ä¸ªå¸¸éä¸æ¦è¢«å®ä¹ï¼å°±ä¸è½åæ¹åæè åæ¶å®ä¹ã
常éåªè½å å«æ éæ°æ®ï¼booleanï¼integerï¼float å stringï¼ã å¯ä»¥å®ä¹ resource
常éï¼ä½åºå°½éé¿å ï¼å 为ä¼é æä¸å¯é¢æçç»æã
å¯ä»¥ç®åçéè¿æå®å ¶ååæ¥åå¾å¸¸éçå¼ï¼ä¸åéä¸åï¼ä¸åºè¯¥å¨å¸¸éåé¢å ä¸ $
符å·ãå¦æ常éåæ¯å¨æçï¼ä¹å¯ä»¥ç¨å½æ°constant() æ¥è·å常éçå¼ãç¨
get_defined_constants()
å¯ä»¥è·å¾ææå·²å®ä¹ç常éå表ã
常éååéæå¦ä¸ä¸åï¼
·常éåé¢æ²¡æç¾å 符å·ï¼$ï¼ï¼
·常éåªè½ç¨ define() å½æ°å®ä¹ï¼èä¸è½éè¿èµå¼è¯å¥ï¼
·常éå¯ä»¥ä¸ç¨çä¼åéçä½ç¨åèå¨ä»»ä½å°æ¹å®ä¹å访é®ï¼
·常éä¸æ¦å®ä¹å°±ä¸è½è¢«éæ°å®ä¹æè åæ¶å®ä¹ï¼
·常éçå¼åªè½æ¯æ éã
Example #1 å®ä¹å¸¸é
<ï¼php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // è¾åº "Constant" 并ååºä¸ä¸ªæ示æ§ä¿¡æ¯
?>
Example #2 使ç¨å ³é®å const å®ä¹å¸¸é
<ï¼php
// 以ä¸ä»£ç å¨ PHP 5.3.0 åå¯ä»¥æ£å¸¸å·¥ä½
const CONSTANT = 'Hello World';
echo CONSTANT;
?>
Example #3 åæ³ä¸éæ³ç常éå
<ï¼php
// åæ³ç常éå
define("FOO",
"something");
define("FOO2",
"something else");
define("FOO_BAR", "something more");
// éæ³ç常éå
define("2FOO",
"something");
//
ä¸é¢çå®ä¹æ¯åæ³çï¼ä½åºè¯¥é¿å è¿æ ·åï¼(èªå®ä¹å¸¸éä¸è¦ä»¥__å¼å¤´)
// ä¹è®¸å°æ¥æä¸å¤©PHPä¼å®ä¹ä¸ä¸ª__FOO__çéæ¯å¸¸é
// è¿æ ·å°±ä¼ä¸ä½ ç代ç ç¸å²çª
define("__FOO__", "something");
?>
ãé®ãå¨phpä¸å®ä¹å¸¸éæ¶,constä¸defineçåºå«?
ãçã使ç¨const使å¾ä»£ç ç®åæ读ï¼constæ¬èº«å°±æ¯ä¸ä¸ªè¯è¨ç»æï¼èdefineæ¯ä¸ä¸ªå½æ°ãå¦å¤constå¨ç¼è¯æ¶è¦æ¯defineå¿«å¾å¤ã
(1).constç¨äºç±»æååéçå®ä¹ï¼ä¸ç»å®ä¹ï¼ä¸å¯ä¿®æ¹ãdefineä¸å¯ç¨äºç±»æååéçå®ä¹ï¼å¯ç¨äºå ¨å±å¸¸éã
(2).constå¯å¨ç±»ä¸ä½¿ç¨ï¼defineä¸è½ã
(3).constä¸è½å¨æ¡ä»¶è¯å¥ä¸å®ä¹å¸¸éã
ä¾å¦ï¼
if (...){
const FOO =
'BAR'; //
æ æçinvalid
}
if (...)
{
define('FOO', 'BAR'); // ææçvalid
}
(4).constéç¨ä¸ä¸ªæ®éç常éå称ï¼defineå¯ä»¥éç¨è¡¨è¾¾å¼ä½ä¸ºå称ã
const FOO = 'BAR';
for ($i = 0;
$i < 32; ++$i) {
define('BIT_' . $i, 1 << $i);
}
(5).conståªè½æ¥åéæçæ éï¼èdefineå¯ä»¥éç¨ä»»ä½è¡¨è¾¾å¼ã
ä¾å¦ï¼
const BIT_5 = 1 <<
5; //
æ æçinvalid
define('BIT_5', 1 << 5); //
ææçvalid
(6).constå®ä¹ç常éæ¶å¤§å°åææçï¼èdefineå¯éè¿ç¬¬ä¸ä¸ªåæ°ï¼ä¸ºtrue表示大å°åä¸ææï¼æ¥æå®å¤§å°åæ¯å¦ææã
ä¾å¦ï¼
define('FOO', 'BAR', true);
echo FOO; //
BAR
echo foo; //
BAR
ç¸å ³å½æ°ï¼
define â
å®ä¹ä¸ä¸ªå¸¸é
说æï¼
bool define ( string $name , mixed $value [,
bool $case_insensitive = false ]
åæ°ï¼
name ï¼å¸¸éåã
value ï¼å¸¸éçå¼ï¼ä» å 许æ éå nullãæ éçç±»åæ¯ integerï¼
floatï¼string æè booleanã ä¹è½å¤å®ä¹å¸¸éå¼çç±»å为 resource ï¼ä½å¹¶ä¸æ¨èè¿ä¹åï¼å¯è½ä¼å¯¼è´æª
ç¥ç¶åµçåçã
case_insensitive ï¼å¦æ设置为
TRUEï¼è¯¥å¸¸éå大å°åä¸ææãé»è®¤æ¯å¤§å°åææçãæ¯å¦ï¼ CONSTANT å Constant 代表äºä¸åçå¼ãï¼Note:
大å°åä¸ææç常é以å°å
çæ¹å¼å¨åãï¼
è¿åå¼ï¼æåæ¶è¿å TRUEï¼ æè å¨å¤±è´¥æ¶è¿å FALSE.
constant â
è¿åä¸ä¸ªå¸¸éçå¼
说æï¼
mixed constant ( string $name )
éè¿ name è¿å常éçå¼ãå½ä½ ä¸ç¥é常éåï¼å´éè¦è·å常éçå¼æ¶ï¼constant()
å°±å¾æç¨äºãä¹å°±æ¯å¸¸éåå¨åå¨ä¸ä¸ªåééï¼æè ç±å½æ°è¿å常éåã该å½æ°ä¹éç¨
class constantsã
åæ°ï¼
name ï¼å¸¸éåã
è¿åå¼ï¼
è¿å常éçå¼ãå¦æ常éæªå®ä¹åè¿å NULLã
defined â
æ£æ¥æ个å称ç常éæ¯å¦åå¨
说æï¼
bool defined ( string $name )
æ£æ¥è¯¥å称ç常éæ¯å¦å·²å®ä¹ã
Note: å¦æä½ è¦æ£æ¥ä¸ä¸ªåéæ¯å¦åå¨ï¼è¯·ä½¿ç¨ isset()ã defined()
å½æ°ä» 对 constants ææãå¦æä½ è¦æ£æµä¸ä¸ªå½æ°æ¯å¦åå¨ï¼ä½¿ç¨ function_exists()ã
åæ°ï¼
name ï¼å¸¸éçå称ã
è¿åå¼ï¼
å¦æ该å称ç常éå·²å®ä¹ï¼è¿å TRUEï¼æªå®ä¹åè¿å
FALSEã
get_defined_constants:
Returns an associative array with the names of all the constants
and their values
ä»¥å ³èæ°ç»è¿å常éåå常éçå¼ãè¿å æ¬é£äºç±æ©å±ä»¥åç±define()å½æ°å建ç常éã
温馨提示:答案为网友推荐,仅供参考