常量

常量

定义

//方式1:
define("PI", 3.15);
//方式2:
const PI2 3.14

const只能用于“顶层代码位置”,不能用于局部.

取值

  1. 使用名字
  2. 使用函数获取常量的值constant(“常量名字符串“)
echo PI;
echo "值为".PI; //不能写到引号中
echo  constant("PI");

$var2 = "PI";
echo  constant($var2); //3.14

常量变量的区别:

  • 定义形式不同
  • 使用形式不同: 无需美元符
  • 可变程度不同:常量不可变、不可销毁
  • 作用范围不同:常量超全局作用域
  • 可用类型不同:常量只能存储标量类型(整数、浮点数、字符型)

其他技术点

判断常量存在

使用defined()函数: 存在,返回true。

if (defined("PI")){
    echo 'aaaaaa';
}else{
    echo 'cccccc';
}

使用未定义的常量

php中当使用未定义的常量时,系统会将其当前做有值去使用,其值就是变量名,虽然也会报错。

echo 'v1的值为'.$xx; //v1的值为
echo 'v1的值为'.C9;  //v1的值为C9

预定义常量

系统中定义好的一些常量,大约几百个.

M_PI :圆周率 PHP_OS :php运行所在的操作系统。 PHP_VERSION:php版本号 PHP_INT_MAX:最大的整数值 等等

魔术常量

只是常量的形式,但是没有常量的‘恒常’的含义:其值其实会变化的,只有很少的几个:

__FILE__:当前网页文件所在的物理路径 __DIR__:当前网页所在的文件夹 __LINE__:所在的行