从零基础开始学习PHP(四)

本来打算更新《徒手打造属于你自己的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中的魔术常量(预定义常量)。

你的关注、将是我前进的动力

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214G00MF200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励