Php 简明教程
PHP - Constants
PHP 中的常量是简单值的一个名称或标识符。常量值在 PHP 脚本执行期间不能更改。
-
默认情况下,PHP 常量区分大小写。
-
根据惯例,常量标识符始终为大写。
-
常量名称以字母或下划线开头,后面跟任意数量的字母、数字或下划线。
-
不必在常量之前写美元符号($),但必须在变量之前使用美元符号。
Examples of Valid and Invalid Constant Names in PHP
以下是 PHP 中有效和无效常量名称的一些示例 -
// Valid constant names
define("ONE", "first thing");
define("TWO2", "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");
// Invalid constant names
define("2TWO", "second thing");
Difference between Constants and Variables in PHP
-
不能通过简单赋值定义常量;只能使用 define() 函数定义常量。
-
可以定义和访问常量,而无需考虑变量作用域规则。
-
一旦常量设置好之后,就不能重新定义或取消定义。
Defining a Named Constant
PHP 函数库中的 define() 函数用于在运行时定义一个命名常量。
define(string $const_name, mixed $value, bool $case = false): bool
Parameters
-
const_name − 常量的名称。
-
value − 常量的值。它可以是一个标量值(int、float、string、bool 或 null),也可以接受数组值。
-
case − 如果设置为 true,常量将被定义为不区分大小写。默认的行为是区分大小写,例如,CONSTANT 和 Constant 代表不同的值。
define() 函数在成功时返回 "true",失败时返回 "false"。
Example 1
以下示例演示了 define() 函数的工作原理:
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT;
// echo Constant;
?>
第一条 echo 语句输出 CONSTANT 的值。您将获得以下 output −
Hello world.
但是,当您取消对第二条 echo 语句的注释时,它将显示以下错误:
Fatal error: Uncaught Error: Undefined constant "Constant" in hello.php: on line 5
如果将 case 参数设置为 False,PHP 不区分大小写常量。
Using the constant() Function
echo 语句输出已定义常量的值。您还可以使用 constant() 函数。它返回 name 指示的常量的值。
constant(string $name): mixed
如果您需要检索常量的值,但不知道其名称,constant() 函数非常有用。即,它存储在变量中或由函数返回。
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo PHP_EOL;
echo constant("MINSIZE"); // same thing as the previous line
?>
它将生成以下 output −
50
50