常量被定义后,其存储内容不可改变或者取消定义。
如需设置常量,请使用 define() 函数
| bool define ( string $name , mixed $value [, bool $case_insensitive = false] ) |
| 参数 | 说明 |
|---|---|
| name | 定义常量的名称 |
| value | 定义常量的值 |
| case_insensitive | 常量名是否对大小写不敏感。默认值是 false |
<?php
//定义常量
define("CONSTANT", "HI!.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // 输出 "Constant" 并发出一个提示级别错误信息,默认大小写敏感
// 使用关键字 const 定义常量
const CHANGLANGS = 'HI! HELLO';
echo CHANGLANGS ;
?>![]() |
|
魔术常量的值会随着它们在代码中的位置的改变而改变。这些特殊的常量不区分大小写。
| 常量名 | 说明 |
|---|---|
| __LINE__ | 返回文件中的当前行号。也可写成__line__ |
| __FILE__ | 返回当前文件的绝对路径(包含文件名) |
| __DIR__ | 返回当前文件的绝对路径(不包含文件名),等价于 dirname(__FILE__)。 |
| __FUNCTION__ | 返回当前函数(或方法)的名称 |
| __CLASS__ | 返回当前的类名(包括该类的作用区域或命名空间) |
| __TRAIT__ | 返回当前的trait名称(包括该trait的作用区域或命名空间) |
| __METHOD__ | 返回当前的方法名(包括类名) |
| __NAMESPACE__ | 返回当前文件的命名空间的名称 |
内核预定义常量:是在PHP的内核中就定义好了的常量。区分大小写。
| 常量名 | 说明 |
|---|---|
| PHP_VERSION | 返回PHP的版本 |
| PHP_OS | 返回执行PHP解释器的操作系统名称 |
| PHP_EOL | 系统换行符,Windows是(\r\n),Linux是(\n),MAC是(\r) |
| M_PI | 返回圆周率π的值 |
![]() | 上表中的__FILE__和__LINE__中的“__”是两条下划线,而不是一条“_” |
常量和变量有如下不同:
常量前面没有美元符号($);
常量一旦定义就不能被重新定义或者取消定义;
常量的值只能是标量;
常量贯穿整个脚本是自动全局的,与变量不同。