php之常量
admin
2023-06-17 14:41:51
0

定义常量

  常量是一个简单值的标识符。如同其名称所暗示的,在脚本执行期间一个常量一旦被定义,就不能再改变或取消定义。常量默认为大小写敏感。按照惯例常量标识符总是大写的

  常量名和其它任何PHP标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线

  和超全局变量一样,常量的范围是全局的。不用管作用区域就可以在脚本的任何地方访问常量

  常量只能包含标量数据(boolean、integer、float和string)。可以定义resource常量,但应尽量避免,因为会造成不可预料的结果

define()函数

  定义常量使用define()函数,它使用三个参数:首个参数定义常量的名称,第二个参数定义常量的值,可选的第三个参数规定常量名是否对大小写敏感,默认是false

bool define ( string name, mixed value [, bool case_insensitive] )

php之常量

";echo PI0;//3.14?>

php之常量

const

  在PHP5.3.0以后,可以使用const关键字在类定义之外定义常量

  使用const关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及if语句之内用const来定义常量

 

常量检测

  对于常量来说,通常要检测常量是否定义或检测常量的值,涉及到defined()函数和constant()函数

defined()函数

  defined()函数用来判断一个常量是否已经定义,其语法格式为:

bool defined(string constants_name)

  若存在则返回true,否则返回false

  如果常量被重复定义后,PHP解析器会发出"Constant XXX already defined"的警告,提醒该常量已被定义过

php之常量

php之常量

constant()函数

  constant()函数用来返回一个常量的值,语法格式为:

mixed constant(string constant_name)

php之常量

php之常量

 

系统常量

  在php中,除了可以自己定义常量外,还预定义了一系列系统常量,可以在程序中直接使用来完成一些特殊功能。下面是一些在系统中常见的预定义常量

php之常量

PHP_OS        UNIX或WINNT等     执行PHP解析的操作系统名称PHP_VERSION   5.2.6等          当前PHP的版本号E_ERROR       1                错误,导致PHP脚本运行停止E_WARNING     2                警告,不会导致PHP脚本运行停止E_PARSE       4                解析错误,帽程序解析器报告E_NOTICE      8                非关键的错误,例如变量未初始化
M_PI          3.1415926535898  数学中的PI值

php之常量

  完整的系统常量列表移步至此

php之常量

" ; ""?>

php之常量

 

魔术常量

  PHP中有8个系统常量会根据它们使用的位置改变而改变,这样的常量被称为魔术常量

php之常量

__LINE__        文件中的当前行号。__FILE__        文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自PHP 4.0.2起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径
__DIR__         文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0新增)__FUNCTION__    函数名称(PHP 4.3.0新加)。自PHP5起本常量返回该函数被定义时的名字(区分大小写)。在PHP4中该值总是小写字母。__CLASS__       类的名称(PHP 4.3.0新加)。自PHP5起本常量返回该类被定义时的名字(区分大小写)。在PHP4中该值总是小写字母。类名包括其被声明的作用区域(例如 Foo\Bar)__TRAIT__       Trait 的名字(PHP 5.4.0新加)。自PHP 5.4起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)__METHOD__      类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)
__NAMESPACE__   当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)

php之常量

";echo __LINE__;//11?>


相关内容

热门资讯

好用的云手机,桃心云手机双系统... 玩手游、搞副业的朋友,大概率都有过同一个烦恼——手里的实体手机不够用。我这话不是凭空说的,是自己亲身...
清华大学教授吴华强称华为韬定律... 5 月 27 日消息,在 5 月 25 日召开的 2026 国际电路与系统研讨会上,。这是中国企业在...
2026年生物多样性保护和可持... 河南日报讯 (全媒体记者 吴倩 李世杰 通讯员 赵亚虹 史娆)5月22日是第26个国际生物多样性日。...
文润天山 豫疆同辉丨豫疆万里情 “辕门外三声炮如同雷震……”在新疆哈密市豫哈第三实验学校的教室里,稚嫩而清脆的童声每周都会准时响起。...
“日方想让中美俄都同意,难” 【文/观察者网 王一】联合国围绕《不扩散核武器条约》(NPT)未来走向的最新一轮审议会议日前无果而终...
国网河南电力牵头立项发布无人机... 如何让智慧城市、智慧社区中的能源管理系统安全规范运行?怎样更好保障无人机在智慧城市中规模化、智能化充...
130万条业主信息被倒卖 警方... 【大河财立方消息】公安部网安局5月27日消息,近日,四川成都网安部门重拳出击,成功破获一起特大侵犯公...
黄河科技学院参加第64届中国高... 5月22-24日,由中国高等教育学会主办的第64届中国高等教育博览会在南昌绿地国际博览中心举行。黄河...
千里姻缘“衣”线牵 安阳市北关区柏庄镇一家服装加工企业内,工人正在赶制服装订单。 张瞾 摄5月8日,浙江省湖州市吴兴区织...
拜登起诉美司法部 据彭博社、美国广播公司(ABC)等媒体报道,美国前总统拜登当地时间26日起诉美国司法部,以阻止官员们...