常量与变量一样都是用来保存数据的
常量的基本概念
常量:const/constant,是一些宏在程序运行中,不可改变的量(数据)
常量一旦定义,通常数据不可改变
常量定义形式
常量名字的命名规则
- 常量不需要使用"$"符号,一旦使用系统就会认为是变量;
- 常量的名字组成是由字母,数字和下划线组成的,不能以数字开头;
- 常量的名i在通常是以大写字母为主(与变量以示区别)
- 常量的命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义
//定义特殊常量
define('-_-', 'smile');
//const '-_-' = 'smile'; 错误
常量在php中有两种方式(5.3一直才有的)
- 使用定义常量的函数:define(‘常量名’,‘常量值’)
- const 常量名 = 值(5.3之后才有的)
//php常量
//使用函数定义常量:define
define('PI',3.14);
//使用const关键字定义
const PII = 3;
echo PI.'<hr>'.PII;
注意细节
1. define 和 const 定义的常量是有区别的:在于访问权限的区别
2. 定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数define(string $name,mixed $value [,bool $case_insensitive = false] )
常量使用形式
常量的使用与变量一样:不可改变值(在定义的时候必须赋值)
有时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数:constant(‘常量名’)
//const定义一个
const PI = 3.14;
//define定义一个
define('-_-','3.14');
//直接使用常量
echo PI.'<hr>';
//echo -_-; //特殊符号不能直接使用
//使用constant间接实用
echo constant('-_-');
说明:
- 凡是数据可能会变化的,那么肯定使用变量
- 数据不一定会变的,可以使用常量也可以使用变量(变量居多)
- 数据不允许被修改的,一定使用常量
系统常量
系统常量:系统帮助用户定义的常量,用户可以直接使用
常见的几个系统常量:
PHP_VERSION : PHP版本号
PHP_INT_SIZE : 整形大小
PHP_INT_MAX : 整形能表示得最大值(PHP中整形是允许出现负数:带符号)
//系统常量
echo '<br>',PHP_VERSION,'<br>',PHP_INT_SIZE,'<br>',PHP_INT_MAX;
在PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束,这种常量称之为系统魔术常量。
系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户无法改变
__DIR__ : 当前被执行的脚本所在带电脑的绝对路径
__FILE__ : 当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
__LINE__ : 当前所属的行数
__NAMESPACE__: 当前所属的命名空间
__CLASS__ : 当前所属的类
__METHOD__ : 当前所属的方法
//魔术常量
echo __DIR__.'<BR>',__FILE__,'<BR>'.__LINE__.'<BR>';
echo __LINE__;