欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > PHP常量

PHP常量

2025/9/15 3:57:22 来源:https://blog.csdn.net/qq_29861999/article/details/145173982  浏览:    关键词:PHP常量

上一篇文章中介绍了变量(值是可以改变的),今天我们来学习新的东西:常量。变量和常量的最大不同就在于是否可以改变它的值。

简介

常量是一个简单值的标识符(名字)。就跟它名字的含义一样,在脚本执行期间该值不能改变(除了所谓的魔术常量,本质上它们不是常量),大小写敏感,一般都是用大写。

语法

可以使用const关键字或define()函数这两种方法来定义一个常量。我们通过一些示例来了解这两种定义方式的不同点。

定义

const 关键字用于在类内部或脚本的顶层定义常量;

define() 是一个函数,可以在脚本的任何地方定义常量。

<?phpCONST AGE = 18;define("TEST", "test");class people {CONST NAME = 'zhangsan';public function say() {define("LANG", "Chinese");}}

作用域

const:在类内部定义的常量,其作用域是类的内部;在脚本顶层定义的常量,其作用域是全局的。

define():定义的常量总是全局的。

解析的节点

const 常量在脚本编译时(即PHP文件被解析的时候)。

define() 定义的常量则是在执行到定义语句时创建的,因此它是在运行时进行确认和存储的。

预定义常量

除了自定义的常量,PHP还提供了大量的预定义常量供开发人员快速使用。

#示例(部分预定义常量)

<?php//PHP的版本echo PHP_VERSION. PHP_EOL;//执行结果:8.4.2//执行PHP文件的运行模式echo PHP_SAPI. PHP_EOL;//执行结果:cli(这里我使用的是命令行来执行的脚本)//true、false,null这些也是

魔术常量

一些魔术常量会根据使用位置而变化,如__LINE__的值取决于它所在的行,这些常量不区分大小写,并且是在编译时解析而不是执行的时候。

#示例(部分介绍)

<?phpnamespace app;class test {public function test() {//当前文件的完整路径echo __FILE__. PHP_EOL; //D:\soft\phpstudy\phpstudy_pro\WWW\a.com\1.php//当前文件的目录echo __DIR__. PHP_EOL; //D:\soft\phpstudy\phpstudy_pro\WWW\a.com//当前行号echo __LINE__. PHP_EOL; // 9//当前行号echo __LINE__. PHP_EOL; // 11//当前函数echo __FUNCTION__. PHP_EOL; // test//类的方法名echo __METHOD__. PHP_EOL; // app\test::test//当前类名echo __CLASS__. PHP_EOL; // app\test//当前命名空间名称echo __NAMESPACE__. PHP_EOL; // app}}(new test())->test();

完结

如果你在阅读这篇文章时有所收获,请不要忘记点赞评论加关注,你的支持是我创作的最大动力。当然,如果你在文中发现了疏漏之处,或是有着其他的见解,欢迎私信与我交流。


我是老卢,一个热爱分享、不断探索的知识旅者。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com