1.7PHP语言的常量(Constant)

1.常量声明

1.1define()函数声明方式

使用 define() 函数声明常量,值可以为任意表达式。

//声明常量时必须同时初始化
define(string $constant_name, mixed $value)
//示例
//简单的标量类型的值
define("CONSTANT", "Hello world.");

echo CONSTANT;  // 输出:Hello world.

//包含元素只为标量类型表达式的数组
define('ANIMALS', array(
    'dog',
    'cat',
    'bird'
));
echo ANIMALS[1];  // 输出:cat

1.2const关键字声明方式

使用 const 关键字声明常量,值只可以为 标量类型(intfloat, bool, string)表达式 或者 包含元素只为标量类型(intfloat, bool, string)表达式的数组。

使用 const 关键字的常量不能声明在函数体内,if 或 循环语句内 以及 try/catch 语句块内。

//声明常量时必须同时初始化
const [类型] 常量名 = 值;
//示例
//简单的标量类型的值
const CONSTANT = 'Hello World';

echo CONSTANT;  // 输出:Hello World

//标量类型表达式
const ANOTHER_CONST = CONSTANT.'; Goodbye World';
echo ANOTHER_CONST;  // 输出:Hello World; Goodbye World

//包含元素只为标量类型表达式的数组
const ANIMALS = array('dog', 'cat', 'bird');
echo ANIMALS[1];  // 输出:cat

2.常量分类

2.1全局常量

名称描述
全局常量支持使用 define() 函数和 const 关键字声明方式

2.2成员常量

注意:PHP 语言不支持实例常量。

名称描述
类(接口)常量只支持使用 const 关键字声明方式

2.3局部常量

名称描述
局部常量只支持使用 define() 函数声明方式

3.魔术(Magic)常量

魔术常量描述
__LINE__文件中的当前行号。
__FILE__已解析符号链接的文件的完整路径和文件名。如果用在被包含(include)文件中,则返回被包含(include)的文件名。
__DIR__文件所在的目录。如果用在被包含(include)文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的反斜杠(/)。
__FUNCTION__当前函数的名称。匿名函数则为 {closure}
__CLASS__类名。类名包含声明类的命名空间(例如 Foo\Bar)。当被用在 trait 方法中时,__CLASS__ 是 调用 trait 的类的名称。
__TRAIT__trait 名。trait 名包含声明 trait 的命名空间(例如 Foo\Bar)。
__METHOD__类的当前方法名称。
__NAMESPACE__当前命名空间的名称。
ClassName::class类的完全限定名称。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/28875.html

(0)
上一篇 2023年6月6日
下一篇 2023年6月8日

相关推荐

  • 2.4PHP类型之类(Class)

    1.类声明 2.可变(Variable)类名 类的名称可以通过返回值为字符串类型的表达式动态指定。 3.继承 一个子类可以继承一个父类的 静态属性、实例属性、常量、静态方法、实例方法、构造函数、析构函数。 一个子类不可以继承自多个父类,一个子类只可以继承自一个父类,但可以多个子类继承自同一个父类。 4.覆盖(Overr…

    PHP语言教程 2023年7月4日
    0460
  • 2.9PHP语言的生成器(Generator)类

    1.生成器函数声明 生成器函数声明就跟普通函数声明一样,区别在于:生成器函数体必须至少包含一个 yield,可包含也可不包含 return。 yield 与 return 的区别在于:return 会立即终止函数的执行并返回值,而 yield 会向在生成器(Generator)类的对象上迭代的代码提供一个值,并暂停生成…

    PHP语言教程 2023年7月9日
    0190
  • 1.6PHP语言的变量(Variable)

    1.变量声明 2.变量分类 2.1全局变量 名称 修饰符 全局变量 —————— 2.2成员变量 名称 修饰符 静态属性(类) static 实例属性(类) 至少有一个修饰符 2.3局部变量 名称 修饰符 静态变量(函数内) static 局部变量 —————— 值形参 —————— 默认值形参 —————— 引用形参…

    PHP语言教程 2023年6月6日
    0530

发表回复

登录后才能评论