模式切换
常量
PHP 中的常量是指一旦定义后其值不能被改变的标识符。常量值被定义后,在脚本的其他任何地方都不能被改变。
常量可以用 define()
函数或 const
关键字来定义。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。(常量名不需要加 $
修饰符)。
PHP 常量的特点:
- 不变性: 常量一旦定义,其值不能改变。
- 全局作用域: 常量在定义后,可以在整个脚本的任何地方使用,无需使用 global 关键字。php
define("URL", "https://www.example.com"); function test() { echo URL; } test(); // 输出: https://www.example.com
- 数据类型: 常量的值可以是标量数据类型(如布尔值、整数、浮点数、字符串)或数组(PHP 7 及以上版本)。
- 区分大小写: 常量名称默认是区分大小写的。如果需要定义大小写不敏感的常量,可以在 define() 函数的第三个参数设置为 true。
- 常量是一个简单值的标识符,该值在脚本中不能改变。
使用 define() 函数定义常量
define()
函数用于定义常量,语法如下:
php
define(name, value, case_insensitive);
name
: 定义常量的名称。value
: 定义常量的值。case_insensitive
: 可选参数,如果设置为 true,则常量名称大小写不敏感。默认为 false。
php
define("URL1", "https://www.example.com");
echo URL1; // 输出: https://www.example.com
// echo url1; // 会报错,因为常量名区分大小写
define("URL2", "https://www.example.org", true);
echo URL2; // 输出: https://www.example.org
echo url2; // 输出: https://www.example.org
使用 const 关键字定义常量
PHP 5.3.0 及以上版本支持使用 const
关键字定义常量,语法如下:
php
const name = value;
name
: 定义常量的名称。value
: 定义常量的值。
php
const URL = "https://www.example.com";
echo URL; // 输出: https://www.example.com
预定义常量
PHP 中有一些预定义常量,可以在任何脚本中使用。
- PHP_VERSION:当前 PHP 解析器的版本。
- PHP_OS:服务器的操作系统。
- PHP_INT_MAX:最大的整数值。
- E_ERROR、E_WARNING、E_PARSE 等:错误报告级别。
常量数组
PHP 7 及以上版本支持定义数组常量。
php
define("COLORS", [
"red",
"green",
"blue"
]);
echo COLORS[0]; // 输出: red
魔术常量
PHP 还有一些特殊的常量,被称为魔术常量,它们的值会随着它们在代码中的位置而改变。
__LINE__
:文件中的当前行号。__FILE__
:文件的完整路径和文件名。__DIR__
:文件所在的目录。__FUNCTION__
:函数名称。__CLASS__
:类名称。__METHOD__
:类的方法名。__NAMESPACE__
:当前命名空间的名称。