玩转php恒量

WBOY
WBOYOriginal
2016-06-13 12:55:01848browse

玩转php常量

常量的命名规则

命名: 与变量相同的命名规则

方法:define()函数

格式:define('常量名','具体值');

例子:define('PI',3.14);

 

常量与变量的比较

同:

1:命名规则相同(但一般为大写)

不同:

1:引用常量时不用$,直接用名称.

2:常量只能用define定义,不能用赋值语句

3:常量一旦定义就不能重新定义或取消定义

4:常量的值只能是标量(只能是整型、浮点型、布尔型、字符型、NULL

<?php

//定义常量

define('pi',3.14);

//计算园的面的面积
$r=3;

echo pi*$r*$r;
//结果:28.26


//常量定义过后,不能再重新定义
define('pi',3.23);

//结果:Notice: Constant pi already defined in C:\wamp\www\0124\05.php on line 15

//常量不能重新赋值
pi=100;
echo pi;

//结果:Parse error: syntax error, unexpected '=' in C:\wamp\www\0124\05.php on line 21
//会有语法上的错误

$PI=10;

function text(){
   
echo $PI;//函数有作用域。此$PI变量是函数里面的与外边的$PI不是一个。
   echo pi;//常量一次定义,可以再任何地方使用
}

//结果:Notice: Undefined variable: PI in C:\wamp\www\0124\05.php on line 31

text();
?>

如何判断一个常量有没有定义?
define 定义常量

defined 判断常量

<?php

if(defined('PI')){

   echo 'PI常量已经定义了。<br/>';
}else{
     echo 'PI常量未定义,我来定义它<br/>';
     define('PI',33322);
}
echo PI;

?>
结果:PI常量未定义,我来定义它
     33322

动态使用常量方法

<?php

//访问:http://localhost/0124/06.php?who=DA
$who=$_GET['who'];
//动态根据传来的值,显示不同的常量
define('DA','刘备');
define('ER','关羽');
define('SAN','张飞');


echo $who,'<br/>';

//以$who=DA为例
//$who变量的值为DA,解析变量得到DA,打印DA,是没错
//但问题是,我们想解析出$who的值,即DA,再把DA当成常量的名,再解析出常量的值来

//想用动态常量的话,即想用变量的值当成常量名的话,必须要考constant 函数才可以。

echo constant($who);

//结果:DA
//      刘备
?>


 


 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn