- PHP從入門到精通(第4版)(軟件開發視頻大講堂)
- 明日科技
- 878字
- 2020-11-28 17:36:30
3.4 PHP常量
視頻講解:光盤\TM\lx\3\08 PHP常量.mp4
本節主要介紹PHP常量,包括常量的聲明和使用以及預定義常量。
3.4.1 聲明和使用常量
常量可以理解為值不變的量。常量值被定義后,在腳本的其他任何地方都不能改變。一個常量由英文字母、下劃線和數字組成,但數字不能作為首字母出現。
在PHP中使用define()函數來定義常量,該函數的語法格式如下:
define(string constant_name, mixed value, case_sensitive=false)
該函數有3個參數,詳細參數說明如表3.7所示。
表3.7 define()函數的參數說明

獲取常量的值有兩種方法:一種是使用常量名直接獲取值;另一種是使用constant()函數。constant()函數和直接使用常量名輸出的效果是一樣的,但函數可以動態地輸出不同的常量,在使用上要靈活方便得多。constant()函數的語法格式如下:
mixed constant(string const_name)
其中,const_name為要獲取常量的名稱,也可為存儲常量名的變量。如果成功則返回常量的值,否則提示錯誤信息常量沒有被定義。
要判斷一個常量是否已經定義,可以使用defined()函數,該函數的語法格式如下:
bool defined(string constant_name);
其中,constant_name為要獲取常量的名稱,成功則返回true,否則返回false。
【例3.9】為了更好地理解如何定義常量,這里給出一個定義常量的實例。在實例中使用上述的3個函數:define()函數、constant()函數和defined()函數。使用define()函數來定義一個常量,使用constant()函數來動態獲取常量的值,使用defined()函數來判斷常量是否被定義。實例代碼如下:(實例位置:光盤\TM\sl\3\9)
<?php define ("MESSAGE", "我是一名PHP程序員"); echo MESSAGE."<br>"; //輸出常量MESSAGE echo Message."<br>"; //輸出“Message”,表示沒有該常量 define ("COUNT", "我想要怒放的生命", true); echo COUNT."<br>"; //輸出常量COUNT echo Count."<br>"; //輸出常量COUNT,因為設定大小寫不敏感 $name = "count"; echo constant($name)."<br>"; //輸出常量COUNT echo(defined("MESSAGE"))."<br>"; //如果常量被定義,則返回true,使用echo輸出顯示1 ?>
運行結果如圖3.7所示。

圖3.7 通過函數對常量進行定義、獲取和判斷
3.4.2 預定義常量
PHP中可以使用預定義常量獲取PHP中的信息。常用的預定義常量如表3.8所示。
表3.8 PHP的預定義常量

注意
__FILE__和__LINE__中的“__”是兩條下劃線,而不是一條“_”。
說明
表3.8中以E_開頭的預定義常量,是PHP的錯誤調試部分。如需詳細了解,請參考error_ reporting()函數。
【例3.10】預定義常量與用戶自定義常量在使用上沒什么差別。下面使用預定義常量輸出PHP中的信息。實例代碼如下:(實例位置:光盤\TM\sl\3\10)
<?php echo"當前文件路徑: ".__FILE__; //輸出__FILE__常量 echo"<br>當前行數:".__LINE__; //輸出__LINE__常量 echo"<br>當前PHP版本信息:".PHP_VERSION; //輸出PHP版本信息 echo"<br> 當前操作系統:".PHP_OS; //輸出系統信息 ?>
運行結果如圖3.8所示。

圖3.8 應用PHP預定義常量輸出信息
說明
根據每個用戶操作系統和軟件版本的不同,所得的結果也不一定相同。
- Functional Python Programming
- 計算思維與算法入門
- Java面向對象軟件開發
- Python程序設計
- 精通Scrapy網絡爬蟲
- Getting Started with NativeScript
- Java EE企業級應用開發教程(Spring+Spring MVC+MyBatis)
- ASP.NET 4.0 Web程序設計
- Unity Android Game Development by Example Beginner's Guide
- Learning Jakarta Struts 1.2: a concise and practical tutorial
- UML軟件建模
- Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐
- Learning D3.js 5 Mapping(Second Edition)
- Java語言GUI程序設計
- Learning C# by Developing Games with Unity 3D Beginner's Guide