常量和预定义常量
<?php
header("content-type:text/html;charset=utf-8");
//用define函数定义一个常量
define('UNAME','tom');
define('_NAME','lee');
//小写字母定义也行,但不推荐,一般都是大写
define('pi',3.14);
define('IS_OK',true);
//使用常量
echo IS_OK.'<br>';//1
echo pi.'<br>';
echo UNAME.'<br>';
//const 常量名 = 常量值 ---定义一个常量
const PASSWORD = '123';
echo PASSWORD.'<br>';//123 使用常量---直接用常量名
echo constant("PASSWORD").'<br>'; //123 利用constant函数使用常量
if(IS_OK){
echo PASSWORD.'<br>';//常量是超全局作用域的,在函数内外都可以使用
}
if(IS_OK){
//这句代码错误 const语法只能在“最顶层”的代码域中使用(不能在大括号中)
//Parse error: syntax error, unexpected 'const' (T_CONST)
//const TEMP = 100;
define('TEMP',1000);
echo TEMP.'<br>';
}
//如果没定义常量PATH 则定义
if(!defined('PATH')){//defined 用来检测一个常量是否定义
define('PATH',"C:/abc");
echo PATH.'<br>';
}
//使用一个未定义的常量
//Notice: Use of undefined constant ABC - assumed 'ABC'
echo ABC;//输出 ABC , 使用一个不存在的常量会以它的名字输出
//预定义常量 php手册中: 附录-保留字列表--预定义常量
echo PHP_INT_SIZE.'<br>' ;// 4 int是4个字节的
echo PHP_VERSION.'<br>';
echo PHP_OS.'<br>';
echo PHP_INT_MAX.'<br>';
总结:
- 常量定义不需要$开头,尽量用大写表示一个常量
- 常量的定义方式有2种:
① define(‘常量名’,常量值);
②const 常量名 = 常量值; - const定义一个常量只能写在顶级代码层,不能写在{}中
- 使用常量的方式有两种:
①直接用常量名
②使用函数 constant(常量名) - 可以用 defined(‘常量名’) 来检测一个常量是否被定义
- 常量可以接收的数据类型为:int , 布尔值 , float 字符串,
- 更多的预定义常量请用PHP手册查询
- 小心使用一个未定义的常量
魔术常量
魔术常量:会随着条件变化而变化的常量