欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > PHP > php中的常量

php中的常量

2018-07-26 576 收藏 0 赞一个 0 真差劲 0 去评论

是相对于变量来说的:是一个其中存储的数据不会也不应该改变的“标识符”。常量的使用,就2个方面:定义,取值。

常量的定义:

<?php 
//常量定义语法1: 
//define("常量名", 常量值); 
define("PI", 3.14); 
define("SCHOOL", "传智播客"); //定义形式2: 
//const 常量名 = 常量值; 
const CC1 = 1234; 
const CC2 = 'abcd';

常量的使用——取值:

也有两种形式:直接使用名字,或通过constant()函数取得其值;

//使用形式1:直接使用其名字 
echo "<br />常量PI的值是:" . PI; 
//注意,不能写在引号中 
echo "<br />常量SCHOOL为:" . SCHOOL; 
$s1 = PI * 3 * 3; 
//求半径为3的圆面积 
//使用形式2:使用函数constant()获得一个常量的值: 
//形式: constant("常量名");//注意:常量名是一个字符串 
$s2 = constant("PI") * 3 * 3; 
echo "<br />s1= $s1, s2 = $s2"; 
echo "<br />" . SCHOOL . constant("CC1") . constant("CC2"); 
//取得常量值的灵活性语法: 
$i = 1; 
$c1 = "CC" . $i; 
echo "<br />常量 $c1 的值为:" .
constant($c1);//输出1234常量变量的区别

定义形式不同:

使用形式不同:常量无需$符号

可变程度不同:常量的值不可以改变,常量也不可以销毁

作用范围不同:常量具有超全局作用域 (函数内外都可以直接使用)

可用类型不同:常量只能存储标量类型(整数,浮点数,字符串,布尔)

判断常量是否存在

使用defined()函数:

如果存在:返回结果是true,

如果不存在:返回结果是false

if( defined("PI") ){ 
    echo "<br />常量PI已经存在"; 
    //通常此时就可以去使用它! 
} else{
    echo "<br />常量PI不存在";
    //通常,判断不存在,是为了来定义它! 
    define("PI", 3.14); 
    //然后去使用 
} 
$s3 = PI * 5 * 5; 
echo "<br />面积为:$s3"; 
if( defined("G")){ 
    echo "<br />常量G已经存在"; 
    //通常此时就可以去使用它! 
} else{ 
    echo "<br />常量G不存在";
    //通常,判断不存在,是为了来定义它! 
    define("G", 9.8); 
    //然后去使用,G是”重力加速度" 
} 
$s4 = G * 6 ; 
//6为时间(秒),这里是计算得到速度 echo "<br />速度为:$s4";

使用一个未定义的常量:

先看2个对比代码:

echo “v1的值为” . $v1; //注意,该变量v1未定义过
echo “C1的值为” . C1; //注意,该常量C1未定义过

注意:在php中,当使用一个未定义的常量的时候,系统会直接将该常量当做“有值”的常量去使用,并且其值就是该常量名——虽然也会报错!

echo "<hr />"; 
echo "v1的值为" . $v1; 
//注意,该变量v1未定义过 
echo "C1的值为" . C1; 
//注意,该常量C1未定义过预定义常量

就是系统中预先定义好的一些常量,大约有几百个,我们只要知道几个就行:

M_PI: 就是圆周率的常量值;
PHP_OS: 就是php运行所在的操作系统
PHP_VERSION:就是php的版本号
PHP_INT_MAX: php中的最大的整数值

魔术常量

其实只是常量的形式,但没有常量的“恒常”的含义:其值其实会变化的,只有很少的几个:

__FILE__ :代表当前网页文件的完整物理路径
__DIR__ :代表当前网页文件所在的文件夹
__LINE__ :代表当前这个常量名所在的”行号”
echo "<br />" . __FILE__; 
echo "<br />" . __DIR__; 
echo "<br />" . __LINE__; 
echo "<br />" . __LINE__; 
echo "<br />" . __LINE__;


一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论