關聯課件: 4子項目四 - PHP中的常量(點擊在線預覽)
PHP的常量有兩(liǎng)種(zhǒng):一種(zhǒng)是系統預定義常量,另一種(zhǒng)是自定義常量。
4.3.2.1 預定義常量
PHP爲運行的腳本提供了大量的預定義常量。不過(guò)很多常量都(dōu)是由不同的擴展庫定義的,隻有加載了這(zhè) 些擴展庫時才能(néng)使用,可以動态加載,也可以在編譯時包含進(jìn)去。
另外有些系統預定義常量的值是随着使用它們的位置而改變的。例如__LINE__的值就依賴于它在腳本中所 處的行來決定,有些資料中也把它們稱爲魔術常量。
下面(miàn)列舉了一些常用的系統預定義常量。
1)__FILE__
本默認常量是文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。
2)__LINE__
本默認常量是文件中的當前行号。如果用在包含文件中,則返回在包含文件中的當前行号。
3)PHP_VERSION
本内建常量爲PHP程序的版本,如' 5.2.5'。
4)PHP_OS
本内建常量指執行PHP解析器的操作系統名稱,如'Linux'。
5)TRUE
本常量就是真值(true)。
6)FALSE
本常量就是假值(false)。
7)E_ERROR
本常量指到最近的錯誤處。
8)E_WARNING
本常量指到最近的警告處。
9)E_PARSE
本常量爲解析語法有潛在問題處。
10)E_NOTICE
本常量爲發(fā)生不尋常但不一定是錯誤處,例如存取一個不存在的變量。
這(zhè)些以E_開(kāi)頭的常量,可以參考error_reporting()函數,其中有更多的相關說明。
下面(miàn)的例子就是利用系統預定義常量輸出一些系統參數。
<!--文件4-5.php:PHP預定義常量--> <HTML> <HEAD> <TITLE>PHP預定義常量</TITLE> </HEAD> <BODY> <?php echo (__LINE__); //輸出8 echo "<p>"; echo (__FILE__); echo "<p>"; echo (__LINE__); //輸出12 echo "<p>"; echo PHP_VERSION; echo "<p>"; echo PHP_OS; ?> </BODY> </HTML>
其運行結果如圖4-5所示。
圖4-5 程序4-5.php的運行結果
4.3.2.2 自定義常量
編寫程序時僅使用以上的系統預定義常量是不夠的。define()可以讓用戶自行定義所需要的常量,其定義 的語法爲:
define ("常量名稱", "常量内容")
用法詳見程序4-6.php。
1: <!--文件4-6.php:PHP自定義常量-->
2: <HTML>
3: <HEAD>
4: <TITLE>PHP定義常量</TITLE>
5: </HEAD>
6: <BODY>
7: <?php
8: define("COPYRIGHT", "Copyright © 2006, www.rzpt.cn");
9: echo COPYRIGHT;
10: ?>
11: </BODY>
12: </HTML>
其運行結果如圖4-6所示。
圖4-6 程序4-6.php的運行結果
這(zhè)也是自定義常量和變量不同處,在使用時一定要注意。
1.define是宏定義,程序在預處理階段將(jiāng)用define定義的内容進(jìn)行了替換。因此程序運行時,常量表中并沒(méi)有用define定義的常量,系統不爲它分配内存。const定義的常量,在程序運行時在常量表中,系統爲它分配内存。 2.define定義的常量,預處理時隻是直接進(jìn)行了替換。所以編譯時不能(néng)進(jìn)行數據類型檢驗。const定義的常量,在編譯時進(jìn)行嚴格的類型檢驗,可以避免出錯。
define("COPYRIGHT", "Copyright © 2006, www.rzpt.cn");
老師講的很詳細,從中學(xué)到了很多。
對(duì)于PHP常量有了一個基本的了解
有點懵
這(zhè)些語法基礎對(duì)于剛學(xué)習PHP的人來說是非常重要的,條理清晰,方便學(xué)習
6666
1)__FILE__ 本默認常量是文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。
const定義的常量,在編譯時進(jìn)行嚴格的類型檢驗,可以避免出錯。