常量的存在和获取
一、獲取常量的兩種方式
定義了常量,那么就要使用常量,那么如何獲取常量值呢?
一般來(lái)說(shuō),常量的取值分為兩種不同的方式,接下來(lái)讓我們一起來(lái)探探吧!
第一種是使用常量名直接獲取值,看下面計(jì)算圓的面積的例子:
<?php define("PI",3.14); $r=1; $area = PI*$r*$r; //計(jì)算圓的面積 ?>直接使用常量名PI獲取它的值參與運(yùn)算。
第二種是使用constant()函數(shù)。它和直接使用常量名輸出的效果是一樣的,但函數(shù)可以動(dòng)態(tài)的輸出不同的常量,在使用上要靈活、方便,其語(yǔ)法格式如下:
mixed constant(string constant_name)第一個(gè)參數(shù)constant_name為要獲取常量的名稱,也可為存儲(chǔ)常量名的變量。如果成功則返回常量的值,失敗則提示錯(cuò)誤信息常量沒(méi)有被定義。(注:mixed表示函數(shù)返回值類型為多種不同的類型,string表示參數(shù)類型為字符串類型)。參考下面例子更好的理解:
<?php $p=""; //定義圓周率的兩種取值 define("PI1",3.14); define("PI2",3.142); //定義值的精度 $height = "中"; //根據(jù)精度返回常量名,將常量變成了一個(gè)可變的常量 if($height == "中"){$p = "PI1"; }else if($height == "低"){$p = "PI2"; } $r=1; $area=constant($p)*$r*$r; echo $are; ?>二、如何判定常量是否被定義
如果常量被重復(fù)定義以后,PHP解析器會(huì)發(fā)出“Constant XXX already defined”的警告,提醒我們?cè)摮A恳呀?jīng)被定義過(guò)。那么,在團(tuán)隊(duì)開(kāi)發(fā),或代碼量很大的情況下,我們?nèi)绾稳ヅ卸ㄒ粋€(gè)常量是否被定義呢?
defined()函數(shù)可以幫助我們判斷一個(gè)常量是否已經(jīng)定義,其語(yǔ)法格式為:
它只有參數(shù)constant_name,指的是要獲取常量的名稱,若存在則返回布爾類型true,否則返回布爾類型false; (注:bool表示函數(shù)返回值類型為布爾類型)
define("PI1",3.14); $p = "PI1"; $is1=define($p); $is2=define("PI2"); var_dump($is1); var_dump($is2> ?>執(zhí)行結(jié)果如下:
bool(true)
bool(false)
結(jié)果可以看出,PI2沒(méi)有定義,$p是常量PI1,已定義過(guò)。
總結(jié)
- 上一篇: 今日头条怎么发视频赚钱
- 下一篇: PHP中的错误控制运算符