常量像变量一样,用于临时存储一个值,但是常量在许多方面与变量不同。
常量:
1、是在程序执行期间无法改变数据,常量的作用域是全局的。
2、常量的命名与与变量相似,只是不带美元符号“$”。一个有效的常量名由字母或者下划线开头,后面跟着任意数量的字母、数字或者下划线。
3、一般在PHP中常量都为大写字母而且又分为系统常量和自定义常量。
=================================================================================
系统常量我们就大概说了 ,这个在后面的知识会介绍到。
1、__FILE__ 默认常量,是指PHP程序文件名及路径;
2、__LINE__ 默认常量,是指PHP程序的行数;
3、__CLASS__ 类的名称;
自定义常量:通过define()函数来定义一个常量的,
其语法格式为:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
name:指定常量的名称(大写)。
value:指定常量的值。(仅允许标量和 null。标量的类型是 整型, 浮点型,字符串型或者布尔型。 也能够定义常量值的类型为 资源(resource) ,但并不推荐这么做,可能会导致未知状况的发生。)
insensitive:指定常量名称是否区分大小写。如果设置为true则不区分大小写;如果设置为false则区分大小写。如果没有设置该参数,则取默认值false区分大小写。
=================================================================================
下面我们来看一个例子吧:
<?php //定义一个大小写敏感的常量: define("CONSTANT", "Hello world"); echo CONSTANT; // 输出:Hello world echo Constant; // 报错 //定义一个大小写不敏感的常量: define("GREETING", "Hello you", true); echo GREETING; // 输出:Hello you echo Greeting; // 输出:Hello you ?>
了解了这个例子,我们以后写常量还是直接用大写的好。
同时我们还要注意常量的打印:
1、当你要打印常量时,不能用引号括住常量,就像上面的例子一样;
2、使用连接运算符来打印常量
<?php define("CONSTANT", "Hello world"); echo 'I say:' . CONSTANT; ?>
这里看过去常量是不是很简单,但是它的用法也有很多种,就比如最常用一个是:
定义一个常量,来判断页面之间的非法调用,具体一点就是我们做网页首页的时候,经常把首页分离出头部和脚部两个文件,这时候我们要防止有人非法操作,直接调用这2个文件,这时候我们就直接在这2个文件中分别加上这么一段代码
<?php //防止恶意调用 if (!defined('CMS_DH')) { exit('Access Defined!'); } ?>
在首页中加入下面的代码(首页要引入头部和脚部文件,具体的引入方法以后在说,有兴趣的可以自己百度谷歌php文件引入)
<?php //定义个常量,用来授权调用头部和脚部2个文件 define('CMS_DH',true); ?>
以上只是一个小小的例子,以后会说,或是自己挖掘吧。