定義了常量,那麼就要使用常量,那麼如何獲取常量值呢?
一般來說,常量的取值分為兩種不同的方式,接下來讓我們一起來探探吧!
第一種是使用常量名直接獲取值,看下面計算圓的面積的例子:
<?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 == "中")else
if($height == "低")
$r=1;
$area=constant($p)*$r*$r;
echo
$are;
?>
如果常量被重複定義以後,php解析器會發出「constant *** 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,已定義過。
PHP 判斷常量,變數和函式是否存在
判斷變數是否被定義 defined 1 if defined const name 判斷變數是否存在 isset 注意變數未宣告或宣告時賦值為null,isset均返回false,如 1 f isset var name 函式檢測用function exists,注意待檢測的函式名也需要使用引號,如...
const常量 指向常量的指標和常量指標
1 先看const常量的情況 const int a 2 int const b c c是已經宣告過的整型 兩者都可以。本地的const常量必須在第一次宣告時就初始化,用變數或常量初始化都可以,只是初始化一次以後它的值就不能再改變了,此所謂const的含義。2 接著看指向常量的指標 const in...
常量指標和指向常量的指標
首先指出乙個錯誤,壓根就不應該有指標常量這個說法。經常聽到有關常量指標和指標常量的討論,也經常見到有關兩者區別的文章,然而,有些文章卻誤導了讀者,他們的結論根本就是錯的。例如關於指標常量和常量指標的討論,結果完全顛倒了 而其他一些文章呢,充其量只是火上加油,讓本來就很複雜的事情變得更加難於理解,例如...