PHP常量

介绍

常量用赋值表达式如$x = 10或$name =“ XYZ”表示,其中10和XYZ是分配给变量的数字常量和字符串常量。在PHP中,可以借助define()函数使用用户定义的标识符定义常量

语法

define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool

参数

序号参数及说明
1名称
常数名称。
2
的常数的值可以是任何标量值(整数,浮点,字符串等)或阵列
3case_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