本来打算更新《徒手打造属于你自己的MAC框架》的、但是后来仔细想了下、先不更新了、如果有幸能把这个PHP的基础更新完的话、到时候再来更新也可以的。今天的内容是常量的研究、由于篇幅有点长、我分成了两节、后面一节介绍预定义常量。后续的视频会把视频时间控制较短、和文章同步、因此文章不宜太长。如果文中有错误之处、欢迎留言指正。
PHP中常量的研究
目标
如何定义常量。
难点
常量的定义方式
重点
魔术常量的使用
本节目录
1、什么是常量?
2、如何定义常量?
3、常量有哪些类型?
4、PHP中的预定义常量有哪些?
什么是常量?
上一节对PHP中变量有了初步的认识之后、那么这节我们将来简单介绍下PHP中常量的定义和使用了。什么又是常量呢?顾名思义、就是不变的量、一旦被定义就不可修改、和变量相反、变量是在程序的执行过程中是可以对其进行修改的。
如何定义常量?
在PHP中常量的定义有两种方式、、使用define()函数来进行定义、、使用const关键字来进行定义。那么常量的命名方式又是怎样的呢?常量的定义和变量的定义是一致的、只是在定义常量的时候建议命名为大写、这是一种规范、当然你使用小写也没问题、但是你和你的队友就没法沟通了。
使用define()函数定义常量、在PHP中的语法是:
bool define ( string $name , mixed $value[, bool $case_insensitive = false ] )
上述是官方手册的语法、那么其中参数分别代表什么呢?
参数一、代表常量的名称
参数二、代表常量的值
参数三、代表的是常量是否区分大小写、默认值为false、因此一般不用设定。如果设置为true、则对大小写不敏感。
运行上述代码可以得到如下图所示的输出:
如何使用const关键字来定义一个常量呢?const关键字对大小写是非常敏感的、也就是说、她总是区分大小写。
得到的结果如下:
其实都是name、只是一个大写、一个小写、就分成了两个不同的常量。因此在实际操作的过程中需要严格注意。
那么最后一个问题来了、define和const有什么区别?
其实从一开始定义的时候、大家可能都能看出来、使用const来定义常量是比较容易理解的方式。当然使用const定义的常量在编译时比define快很多、具体参考网络资料。我这里总结了以下的几点不同、仅供参考:
、const可定义于类中的成员属性、且可以在类中使用、而define不能、但define可用于定义全局常量、参考如下代码:
1.classstudent{
2.// define('NAME',"张三");//错误的定义方式
3.constNAME="小明";//const可以在类中使用
4.}
5.echo student::NAME;//直接调用输出
6.student::showName();
、const不能在条件语句中使用、如下代码:
1.// if(true){
2.// const NAME="错误的方式";
3.// }
4.if(true){
5.define('NAME','定义正确');
6.}
、define可以采用表达式的方式赋值、而const不能、且const不能使用动态的命名、如下代码:
1.//变量的名称可以是动态的
2.$prifix="ZG";
3.define($prifix."NAME","中国");
4.var_dump(ZGNAME);
5.//可以动态赋值
6.define("AGE",1==0?18:20);
7.var_dump(AGE);
8.//而const不具备define的这些能力
9.//......
以上就是对常量的简单研究、下一节讲述PHP中的魔术常量(预定义常量)。
你的关注、将是我前进的动力
领取专属 10元无门槛券
私享最新 技术干货