常量,相对于变量而言的,是指存储的数据不会也不应该改变的”标识符”。
常量无需$符号,具有超强作用域,只能存储标量类型(整数 浮点数 字符串 布尔值)
常量的定义
定义方式一:
// 定义方式一:define('name','value')
define("PI", 3.14);
define("AUTH", "wangcai");
定义方式二:
// 定义方式二:const name = value
const USERNAME = 'wangcai';
常量的使用(取值)
使用方式一:
echo constant("PI");
使用方式二:
echo "pi is " . PI;
判断常量是否存在
// defined 判断常量是否存在
if(defined('USERNAME')){
echo "常量已经存在";
}else{
echo "常用未定义";
}
使用一个未定义的常量
echo "未定义常量M1的值为:".M1;// print 未定义常量M1的值为:M1
echo "未定义常量M2的值为:".constant("M2");// print 未定义常量M2的值为:
如果直接使用常量名来引用未定义的常量,那么默认情况下其值默认就为其名。
如果使用constant(“常量名”)来引用的话,则不会有值输出。
预定义常量
系统预定义好的常量,简单描述几个:
echo "php运行所在的操作系统:".PHP_OS;
echo "php中最大的整数值:".PHP_INT_MAX;
echo "php中int值所占的字节:".PHP_INT_SIZE;
echo "当前php版本号:".PHP_VERSION;
echo "圆周率的常量值:".M_PI;
魔术常量
只是常量的形式,但其值会发生变化,简单描述如下:
echo "当前网页文件的完整物理路径:".__FILE__;
echo "当前网页文件所在的文件夹:".__DIR__;
echo "当前这个常量名所在的行号:".__LINE__;