日期:2014-05-17 浏览次数:20600 次
常量的命名规则
命名: 与变量相同的命名规则
方法: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 // 刘备 ?>