php中的常量
来源:互联网 发布:au cs6 mac 汉化 编辑:程序博客网 时间:2024/05/16 06:01
简介
要定义常量,可使用define()函数,包括以下两种形式:define("name", value, true|false);
define("name", value); // 第三个参数默认为false
第一个参数是一个字符串,代表常量的名称。
第二个参数是常量的值,此值不要求是一个常量表达式。
第三个参数指定常量是否不需要区分大小写,设为true则不区分。
注意,一个常量一旦被定义,就不能再改变或者取消定义。使用常量时,直接引用常量名称即可,不能使用$符号。而且常量的范围是全局的。不用管作用区域就可以在脚本的任何地方访问常量(与超全局变量类似)。
常量只能包含标量数据(boolean,integer,float 和 string)和数组。可以定义 resource 常量,但应尽量避免,因为会造成不可预料的结果。
常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
$a = 'vara';define("x", $a, true);$a = 'varb';echo x; // vara
const NAME = "Ann";
不过,define()方式可以不用理会变量的作用域而在任何地方定义和访问;而且使用 const 关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。
此外,const定义常量时,必须用常量表达式进行初始化,相反,define()可以使用变量、函数调用表达式等。
const a = [1,2,3];var_dump(a[0]); // int(1)
魔术常量
这面这些常量都是预定义常量,不过值切不是不变的,而是会随着使用它们的上下文不同而不同。
__LINE__ :文件的行号
__FILE__ :文件的完整路径和文件名__DIR__ :文件所在的目录
__FUNCTION__ :函数被定义时的名字(区分大小写)。
__CLASS__ :类被定义时的名字(区分大小写)。
__TRAIT__ :Trait的名字(区分大小写)。Trait名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__ :类的方法名。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ :当前命名空间的名称(区分大小写)。
预定义常量
除了魔术常量外,还有其它大量的预定义常量,这些是真正的常量
var_dump(PHP_VERSION); // string(6) "7.1.11"var_dump(PHP_MAJOR_VERSION); // int(7)var_dump(PHP_MINOR_VERSION); // int(1)var_dump(PHP_RELEASE_VERSION); // int(11)var_dump(PHP_VERSION_ID); // int(70111)var_dump(PHP_EXTRA_VERSION); // string(0) ""var_dump(PHP_OS); // string(5) "WINNT"var_dump(PHP_EOL); // string(2) 当前平台下的行结束符var_dump(PHP_INT_MAX);var_dump(PHP_INT_MIN);var_dump(PHP_INT_SIZE);//var_dump(PHP_FLOAT_DIG); // 浮点数可精确到的小数位数//var_dump(PHP_FLOAT_EPSILON); // 可表示的最小正浮点数//var_dump(PHP_FLOAT_MIN);//var_dump(PHP_FLOAT_MAX);
除此之外,还有大量与PHP有关的路径信息、错误信息等
相关函数
constant ( string $name )
返回常量的值,如果常量未定义,返回NULL。
bool defined ( string $name )
检查一个常量是否已经定义,注意,只用于常量检测。如果你要检查一个变量是否存在,请使用 isset()。如果你要检测某个函数是否存在,使用 function_exists()。
array get_defined_constants ([ bool $categorize = false ] )
返回所有常量的关联数组,键是常量名,值是常量值。返回当前所有已定义的常量名和值。 这包含 define() 函数所创建的,通过const关键字定义的,也包含了所有扩展所创建的。
参数用于指定是否以二维数组的形式返回。
阅读全文
0 0
- PHP中的常量
- PHP中的一些常量
- php中的类常量
- php中的魔术常量
- PHP中的常量
- php中的常量
- PHP中的常量
- php中的常量类型
- PHP中的常量
- PHP中的常量
- php 中的常量
- php中的常量
- PHP 中的 常量 变量 魔术常量 ...
- PHP中的自定义常量与类常量
- PHP中的自定义常量与类常量
- PHP中的变量和常量
- 06-php中的魔术常量
- php中的 类常量 Class Constants
- 联系人模块--Group
- 【笔记】关于HBase的总结和疑问
- 自学RobotFramework笔记-List变量
- 分布式消息中间件-Rocketmq
- JEECMS——源码下载和安转运行
- php中的常量
- WMS WFS WCS WMTS 的区别
- GNU makefile文件
- Linux epoll 用法
- C#更新Revit参数值函数
- java自定义栈实现简单迷宫
- springboot多数据源配置事务
- TEE(Trusted Execution Environment)简介
- postgresql 不同索引所支持的字段数据类型