以下为学习孔祥盛主编的《PHP编程基础与实例教程》(第二版)所做的笔记。
PHP常量分为自定义常量与预定义常量。
1.自定义常量
在使用前必须先定义,PHP的define()函数专门用于定义自定义常量,define()函数的语法格式为:define(name,value[,boolean case_insensitive])。
函数功能:定义一个名字为name,值为value的常量。case_insensitive参数的默认值为FALSE,表示常量名name大小写敏感(区分大小写);case_insensitive参数值如果为TRUE,表示常量名name大小写不敏感(不区分大小写)。
函数说明:常量名name为字符串类型数据,常量值value必须是标量数据类型数据。
( 注意:函数的语法格式中某个参数使用 “ [ ] ”括起来,表示该参数是 “ 可选参数 ” (不是必需的) 。 )
1 1 <?php 2 2 //定义DATABASE常量,此时DATABASE常量名大小写敏感 3 3 define("DATABASE","student"); 4 4 //定义USER_NAME常量,此时USER_NAME大小写敏感 5 5 define("USER_NAME","root",FALSE); 6 6 //定义PASSWORD常量,此时PASSWORD大小写不敏感 7 7 define("PASSWORD","root",TRUE); 8 8 9 9 //输出:student 1010 echo DATABASE; 1111 echo"<br/>"; 1212 //输出:root 1313 echo USER_NAME; 1414 echo"<br/>"; 1515 //输出:root 1616 echo password; 1717 ?>
输出:
1Deprecated: define(): Declaration of case-insensitive constants is deprecated in D:\phpStorm_Save\first\helloworld.php on line 7 2student 3root 4 5Deprecated: Case-insensitive constants are deprecated. The correct casing for this constant is "PASSWORD" in D:\phpStorm_Save\first\helloworld.php on line 16 6root
常量的定义需要注意以下几点:
1.常量必须使用define()函数定义,常量名前面不加前缀美元‘$’符号。
2.常量名由字母或者下画线开头,后面跟上任意数量的字母、数字或者下画线。
3.常量名可以是全部大写、全部小写或者大小写混合,但一般习惯是全部大写。
4.常量的作用域是全局的,不存在使用范围的问题,可以在程序任意位置进行定义和使用。
5.常量一旦被定义,其值不能在程序运行过程中修改,也不能被销毁。例如,程序如下
11 1 <?php 22 2 define("DATABASE","student"); 33 3 //重新定义DATABASE常量,此时将出现Notice信息 44 4 define("DATABASE","root"); 55 5 66 6 //输出:student 77 7 echo DATABASE; 88 8 ?>
输出:
1Notice: Constant DATABASE already defined in D:\phpStorm_Save\first\helloworld.php on line 4 2student
从程序运行结果来看,PHP产生Notice信息后,并不会影响程序的继续运行。
2.预定义常量
PHP预定义了许多常量,这些常量无需使用define()函数定义,可直接在程序中使用。下面列举了一些常用的PHP预定义常量。
(1)__FILE__(FILE前后分别是两个下画线):当前正在处理的脚本文件名,若使用在一个被引用的文件中(include或require),那么 它的值就是被引用的文件,而不是引用它的那个文件。
(2)__LINE__(LINE前后分别是两个下画线):正在处理的脚本文件的当前行数。
(3)PHP_VERSION:当前PHP预处理器的版本,如5.4.16。
(4)PHP_OS: PHP所在的操作系统的类型。如Linux。
(5)TRUE:表示逻辑真。FALSE:表示逻辑假。NULL:表示没有值或值不确定。
(6)DIRECTORY_SEPARATOR: 表示目录分隔符,UNIX或Linux操作系统环境时的值为“ / ”, Window操作系统环境时的值为 “ \ ”。
1<?php 2echo __FILE__; 3echo "<br/>"; 4echo __LINE__; 5echo "<br/>"; 6echo PHP_VERSION; 7echo "<br/>"; 8echo PHP_OS; 9echo "<br/>"; 10echo DIRECTORY_SEPARATOR; 11?>
输出:
1D:\phpStorm_Save\first\helloworld.php 24 37.3.5 4WINNT 5\