玩转php常量

常量的命名规则

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

方法:define()函数

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

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

 

常量与变量的比较

同:

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

不同:

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

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

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

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

  1. <?php  
  2.   
  3. //定义常量  
  4.   
  5. define('pi',3.14);  
  6.   
  7. //计算园的面的面积  
  8. $r=3;  
  9.   
  10. echo pi*$r*$r;  
  11. //结果:28.26  
  12.   
  13.   
  14. //常量定义过后,不能再重新定义  
  15. define('pi',3.23);  
  16.   
  17. //结果:Notice: Constant pi already defined in C:\wamp\www\0124\05.php on line 15  
  18.   
  19. //常量不能重新赋值  
  20. pi=100;  
  21. echo pi;  
  22.   
  23. //结果:Parse error: syntax error, unexpected '=' in C:\wamp\www\0124\05.php on line 21  
  24. //会有语法上的错误  
  25.   
  26. $PI=10;  
  27.   
  28. function text(){  
  29.      
  30. echo $PI;//函数有作用域。此$PI变量是函数里面的与外边的$PI不是一个。  
  31.    echo pi;//常量一次定义,可以再任何地方使用  
  32. }  
  33.   
  34. //结果:Notice: Undefined variable: PI in C:\wamp\www\0124\05.php on line 31  
  35.   
  36. text();  
  37. ?>  

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

defined 判断常量

  1. <?php  
  2.   
  3. if(defined('PI')){  
  4.   
  5.    echo 'PI常量已经定义了。<br/>';  
  6. }else{  
  7.      echo 'PI常量未定义,我来定义它<br/>';  
  8.      define('PI',33322);  
  9. }  
  10. echo PI;  
  11.   
  12. ?>  
  1. 结果:PI常量未定义,我来定义它  
  2.      33322  

动态使用常量方法

  1. <?php  
  2.   
  3. //访问:http://localhost/0124/06.php?who=DA  
  4. $who=$_GET['who'];  
  5. //动态根据传来的值,显示不同的常量  
  6. define('DA','刘备');  
  7. define('ER','关羽');  
  8. define('SAN','张飞');  
  9.   
  10.   
  11. echo $who,'<br/>';  
  12.   
  13. //以$who=DA为例  
  14. //$who变量的值为DA,解析变量得到DA,打印DA,是没错  
  15. //但问题是,我们想解析出$who的值,即DA,再把DA当成常量的名,再解析出常量的值来  
  16.   
  17. //想用动态常量的话,即想用变量的值当成常量名的话,必须要考constant 函数才可以。  
  18.   
  19. echo constant($who);  
  20.   
  21. //结果:DA  
  22. //      刘备  
  23. ?>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值