在PHP编程中,我们经常需要定义一些固定的数值、字符串或者表达式,这些值在程序运行过程中不会改变。为了实现这个目的,PHP提供了两种方式来定义常量:使用define()函数和使用const关键字。
这两种方式都能够将一个标识符与一个特定的值进行绑定,并使其在整个程序中都不可改变。下面将详细介绍这两种定义常量的方式。

define()函数
define('NAME','tom');//定义常量
define('PI',1.23,true);//定义常量,不区分大小写
echo NAME,'<br>',Pi;
const关键字
const NAME='tom';
echo NAME;//tom
PS:
1、define(常量名,值,true表示不区分大小写,默认是false区分大小写(php7.3已废弃)
2、常量名前无$符
3、常量名推荐写大写(当然小写也可以)
4、echo输出多个常量用逗号 , 隔开。
常见问题:
提问:定义常量是否可用特殊符号
解答:
define('%-%','tom');
echo constant('%-%'); //constant 获取特殊字符
PS:如果使用特殊符合作为常量名,必须使用constant关键字输出特殊符号
提问:我写了很多常量,如果报错常量重复定义,如何判断?
解答:
//define('NAME','tom'); //定义NAME为tom
if(!defined('NAME')){//if判断defined常量是否定义
define('NAME','berry'); //未定义则输出berry,定义则输出tom
}
echo NAME; //berry
PS:判断常量是否定义,通过defined()判断常量是否已经定义。
本文小结
1、定义常量有两种方式,define()和const
2、常量在整个运行过程中值保持不变,常量不能重新定义
3、使用constant获取特殊字符做的常量名的值
4、defined()用来判断常量是否被定义
课后作业
1、如何使用define()函数定义一个不区分大小写的常量?
2、使用const关键字定义常量时,常量名是否需要加引号?
3、如何判断一个常量是否已经定义?
4、定义常量时,是否可以使用特殊字符作为常量名?
5、常量与变量有什么区别?
作业答案
广告插入