📅  最后修改于: 2023-12-03 15:03:42.779000             🧑  作者: Mango
在 PHP 中,常量是一个简单值的标识符。常量和变量不同的地方在于,一旦定义了常量,就不能再改变它的值。常量的值必须在定义时进行赋值,并且只能赋一次值。定义常量的语法如下:
define(name, value, case-insensitive)
name
:定义的常量名称。
value
:定义的常量值。
case-insensitive
:可选参数,默认是 false
,表示常量名称的大小写敏感。如果设置为 true
,则表示常量名称的大小写不敏感。
例如,定义一个名称为 GREETING
的常量:
define("GREETING", "Hello world!");
echo GREETING;
输出:
Hello world!
你可以使用 defined()
函数来检查常量是否已经定义过,如果已经定义过则返回 true
,否则返回 false
。
define("GREETING", "Hello world!");
echo defined("GREETING"); // 输出 1
echo defined("FAREWELL"); // 输出 空
魔术常量是另一类常量,它们被预定义并包含在 PHP 中。它们的值会根据它们在代码中的位置而改变。以下是常见的魔术常量:
__LINE__
文件中的当前行号。
__FILE__
文件的完整路径和文件名。
__DIR__
文件所在的目录。
__FUNCTION__
函数名称(在 PHP 5.3 及以上版本可用)。
__CLASS__
类名称(在 PHP 5.3 及以上版本可用)。
__TRAIT__
Trait 的名称(在 PHP 5.4 及以上版本可用)。
__METHOD__
类的方法名(在 PHP 5.0.0 及以上版本可用)。
__NAMESPACE__
当前命名空间名称(在 PHP 5.3 及以上版本可用)。
例如,输出文件名和行号:
echo "这个文件位于 " . __DIR__ . " 目录中。\n";
echo "这个文件的完整路径和文件名为 " . __FILE__ . "。\n";
echo "这个文件的行号为 " . __LINE__ . "。\n";
输出:
这个文件位于 /path/to/dir/ 目录中。
这个文件的完整路径和文件名为 /path/to/dir/test.php。
这个文件的行号为 5。