定义php常量的详解


Posted in PHP onJune 09, 2013

常量可以理解为值不变的变量。常量值被定义后,在脚本的其他任何地方都不能被改变。一个常量由英文字母、下划线、和数字组成,但  数字不能作为首字母出现。
在php中使用defaine()函数来定义常量,该函数的语法格式为:
define(string constant_name, mixed value, case_sensitive = true)

该函数有3个参数:
constant_name:必选参数,常量名称,即标志符
value:必选参数,常量的值
case_sensitive:可选参数,指定是否大小写敏感,设定为true表示不敏感

获取常量值有两种方法:
1.使用常量名直接获取值;
2.使用constant()函数。

constant()函数和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便。

语法格式为:

mixed constant(string constant_name)

参数constant_name为要获取常量的名称,也可为存储常量名的变量。

如果成功则返回常量的值,失败则提示错误信息常量没有被定义。

要判断一个常量是否已经定义使用defined()函数。函数的语法格式为:

bool defained(string constants_name)

constant_name为要获取常量的名称,存在则返回true,否则返回false;

php中可以使用预定义常量获取php中的信息。如"_FILE_"、"_LINE_"、"PHP_OS"等等。

例:

<?php
  define ("MESSAGE", "PHP常量定义,常量名区别大小写");
  echo MESSAGE."<br/>";    //输出常量MESSAGE
  echo Message."<br/>";    //输出"Message",表示没有该常量  define("MESSAGE2", "PHP常量定义,常量名不区别大小写", true);
  echo MESSAGE2."<br/>";   //输出常量MESSAGE2
  echo Message2."<br/>";   //输出常量
  $constant_name = "message2";
  echo constant($constant_name)."<br/>";   //输出常量MESSAGE2
  echo defined("MESSAGE")."<br/>";         //如果定义返回true,echo输出显示1
 ?>
PHP 相关文章推荐
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
php动态绑定变量的用法
Jun 16 PHP
PHP安装threads多线程扩展基础教程
Nov 17 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
PHP环形链表实现方法示例
Sep 15 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 PHP
PHP命名空间简单用法示例
Dec 28 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
基于php冒泡排序算法的深入理解
Jun 09 #PHP
深入apache host的配置详解
Jun 09 #PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 #PHP
基于PHP CURL用法的深入分析
Jun 09 #PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 #PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 #PHP
探讨捕获php错误信息方法的详解
Jun 09 #PHP
You might like
长波有什么东西
2021/03/01 无线电
用函数读出数据表内容放入二维数组
2006/10/09 PHP
php数组的一些常见操作汇总
2011/07/17 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
简述php环境搭建与配置
2016/12/05 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
详细解读Python中的__init__()方法
2015/05/02 Python
python实现用户登录系统
2016/05/21 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
python Pexpect模块的使用
2020/12/25 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
2019史上最全Database工程师题库
2015/12/06 面试题
生产总经理岗位职责
2013/12/19 职场文书
助残日活动总结
2014/08/27 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android