常量用赋值表达式如$x = 10或$name =“ XYZ”表示,其中10和XYZ是分配给变量的数字常量和字符串常量。在PHP中,可以借助define()
函数使用用户定义的标识符定义常量
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
序号 | 参数及说明 |
---|---|
1 | 名称 常数名称。 |
2 | 值 的常数的值可以是任何标量值(整数,浮点,字符串等)或阵列 |
3 | case_insensitive 常量标识符默认情况下区分大小写。如果此参数设置为true,则对name和NAME的处理方式类似 |
如果定义成功,则函数返回TRUE,否则返回FALSE
以下示例显示了使用define()
函数定义常量的方法
<?php define("maxmarks",300); define("pi", 3.142); define("subjects",["phy", "che", "maths"]); ?>
PHP具有大量预定义的常量,但是如果安装了相应的扩展名,则大多数常量将被启用。但是,以下常量(称为魔术常量)始终可用
名称 | 描述 |
__线__ | 文件的当前行号。 |
__文件__ | 文件的完整路径和文件名 |
__DIR__ | 文件的目录。 |
__功能__ | 函数名称,或{closure}用于匿名函数。 |
__类__ | 类名。类名称包括在其中声明的命名空间(例如Foo \ Bar)。请注意,自PHP 5.4起,__CLASS__也可以在特征中使用。在特征方法中使用时,__ CLASS__是使用特征的类的名称。 |
__特征__ | 特征名称。特征名称包括在其中声明的命名空间(例如Foo \ Bar)。 |
__方法__ | 类方法名称。 |
__NAMESPACE__ | 当前命名空间的名称。 |
以下示例演示了一些魔术常数
<?php echo "Line no: " . __LINE__ . "\n"; echo "file name : " . __FILE__ . "\n"; echo "directory name: " . __DIR__ . "\n"; function myfunction(){ echo "function name: " . __FUNCTION__ . "\n"; } class myclass{ public function __construct() { echo __CLASS__ . "\n"; } public function mymethod(){ echo __METHOD__; } } $obj=new myclass(); $obj->mymethod(); ?>
输出结果
将显示以下结果
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod