常量的存在和获取

一、获取常量的两种方式

定义了常量,那么就要使用常量,那么如何获取常量值呢?

一般来说,常量的取值分为两种不同的方式,接下来让我们一起来探探吧!

第一种是使用常量名直接获取值,看下面计算圆的面积的例子:
<?php
define("PI",3.14);
$r=1;
$area = PI*$r*$r; //计算圆的面积
?>

直接使用常量名PI获取它的值参与运算。

第二种是使用constant()函数。它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,其语法格式如下:

mixed constant(string constant_name)

第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)。参考下面例子更好的理解:

<?php 
$p="";
//定义圆周率的两种取值
define("PI1",3.14);
define("PI2",3.142);
//定义值的精度
$height = "中";
//根据精度返回常量名,将常量变成了一个可变的常量
if($height == "中"){
    $p = "PI1";
}else if($height == "低"){
    $p = "PI2";
}
$r=1;
$area=constant($p)*$r*$r;
echo $are;
?>

二、如何判定常量是否被定义

如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告,提醒我们该常量已经被定义过。那么,在团队开发,或代码量很大的情况下,我们如何去判定一个常量是否被定义呢?
defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:

bool defined(string constants_name)

它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)

define("PI1",3.14);
$p = "PI1";
$is1=define($p);
$is2=define("PI2");
var_dump($is1);
var_dump($is2>
?>

执行结果如下:
bool(true)
bool(false)
结果可以看出,PI2没有定义,$p是常量PI1,已定义过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值