• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

【php手册】常量

php 搞代码 3年前 (2022-01-22) 19次浏览 已收录 0个评论

本篇文章主要介绍PHP中的常量,感兴趣的朋友参考下,希望对大家有所帮助。

常量是一个简单值的标识符(名字)。常量的范围是全局的。常量默认为大小写敏感。传统上常量标识符总是大写的

常量名遵循PHP 标签命名规则,字母或下划线开始,后面跟着字母,数字或下划线。正则表达式为:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

字母指的是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的 ASCII 字符。
Example #1 合法与非法的常量名<?php// 合法的常量名define("FOO",     "something");define("FOO2",    "something else");define("FOO_BAR", "something more");// 非法的常量名define("2FOO",    "something");// 下面的定义是合法的,但应该避免这样做:(自定义常量不要以__开头)// 也许将来有一天PHP会定义一个__FOO__的魔术常量// 这样就会与你的代码相冲突define("__FOO__", "something");?>

语法

定义常量:

用 define() 函数定义常量。用 defined() 函数检查是否定义了某常量。用 const 关键字在类定义之外定义常量(PHP 5.3.0)。

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

常量只能包含标量数据(boolean,integer,float 和 string)。可以定义 resource 常量,但会造成不可预料的结果。动态常量名,用函数 constant() 获取常量值。用 get_defined_constants() 可以获得所有已定义的常量列表。

常量和变量有如下不同:

常量前面没有美元符号($);常量只能用 define() 函数定义,而不能通过赋值语句;常量可以不用理会变量的作用域而在任何地方定义和访问;常量一旦定义就不能被重新定义或者取消定义;常量的值只能是标量。*常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
Example #1 定义常量<?php  define("CONSTANT", "Hello world.");ech<div>)本文来源gaodai.ma#com搞#代!码网_</div><strong>搞代gaodaima码</strong>o CONSTANT; // outputs "Hello world."echo Constant; // 输出 "Constant" 并发出一个提示级别错误信息?>
Example #2 使用关键字 const 定义常量<?php// 以下代码在 PHP 5.3.0 后可以正常工作const CONSTANT = 'Hello World';echo CONSTANT;?>

魔术常量

8个 PHP 的“魔术常量”,随着它们在代码中的位置改变而改变。

__LINE__    文件中的当前行号。__FILE__    文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) __CLASS__   类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。__METHOD__  类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。__NAMESPACE__   当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
/*__FUNCTION__ and __METHOD__ as in PHP 5.0.4 is that__FUNCTION__ returns only the name of the functionwhile as __METHOD__ returns the name of the class alongwith the name ofthe function*/<?phpclass trick{      function doit()      {                echo __FUNCTION__;      }      function doitagain()      {                echo __METHOD__;      }}$obj=new trick();$obj->doit();// output will be ----  doit$obj->doitagain();// output will be ----- trick::doitagain

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【php手册】常量

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址