1、定义
  常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量默认大小写敏感。通常常量标识符总是大写的。
  可以用define()函数来定义常量。在php5.3.0以后,可以使用const关键字在类定义的外部定义常量,先前版本const关键字只能在类(class)中使用。一个常量一旦被定义,就不能再改变或取消定义。
  常量只能包含标量数据(boolean、integer、float和string)。可以定义resource常量,但应尽量避免,因为会造成不可预料的结果。

2、在php中定义常量时,const和define的区别
1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。
2、Const可在类中使用,define不能
3、Const不能再条件语句中定义常量,示例如下:

 <?phpif (...){const FOO = 'BAR';    // 无效的invalid}if (...) {define('FOO', 'BAR'); // 有效的valid}?>

4、const采用普通的常量名称,define可以采用表达式作为名称

 <?phpconst  FOO = 'BAR';for ($i = 0; $i < 32; ++$i) {define('BIT_' . $i, 1 << $i);}?>

5、const只能接受静态的标量,而define可以采用任何表达式

 <?phpconst BIT_5 = 1 << 5;    // 无效的invaliddefine('BIT_5', 1 << 5); // 有效的valid?>

6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感,默认为false)来指定大小写是否敏感。

 <?phpdefine('FOO', 'BAR', true);echo FOO; // BARecho foo; // BAR?>

PHP常量:define和const的不同之处相关推荐

  1. php定义常量 define vs const

    常量一旦定义就不能在改变或者取消. 在php中定义常量可以使用define()函数,在php5.3之后同样可以使用const关键字来定义常量. define 和 const的区别 语法区别 // 使用 ...

  2. C++编程进阶1(对于单纯的常量,用const替换#define、operator[]与const)

    一.对于单纯的常量,用const替换#define:用内联函数替换宏函数 如果想表示一个常量,请使用const而不是#define,因为#define在预编译期被简单的替换,没有类型检查.而const ...

  3. [翻译]PHP中define()和const定义常量的区别

    在PHP中可以通过define()和const两种方式定义常量 可是在开发中我们应该什么时候用define()定义常量,什么时候用const定义常量? 这两种方式定义常量的主要区别是什么? 从5.3版 ...

  4. PHP常量详解:define和const的区别

    常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...

  5. 读书笔记之《高质量的C-C++编程》第五章节: #define 与 const 的定义常量

    常量是一种标识符,它的值在运行期间恒定不变.C 语言用 #define 来定义常量(称为宏常量).C++ 语言除了 #define (宏常量)外还可以用 const( const 常量) 来定义常量. ...

  6. define() vs const 该如何选择?

    使用 define(),除非考虑到可读性.类常量.或关注微优化 1.在 PHP 中是使用 define() 函数来定义常量,PHP 5.3.0 以后,PHP 中也能够使用 const 关键字来声明常量 ...

  7. #define与const的差别

    #define与const的差别 虽然他们在使用中感觉"差不多",但是他们在实现上有什么区别? 请看下面的代码: #define T 13 /*用#define定义的一个常量T*/ ...

  8. define、const、typedef区别

    1.define与const的区别 define生效与预处理阶段,const生效与编译阶段.预处理在编译之前,预处理器将代码中的宏统一替换为指定的字符 .从语义上讲,const是声明一个不可修改的数据 ...

  9. #define和const的区别

    (1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用. (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开. const常量有 ...

最新文章

  1. Vue+Openlayer使用overlay实现弹窗弹出显示与关闭
  2. C语言模拟实现(三)-----独占型设备分配
  3. 计算机系统win7安装教程,惠普EliteDesk 705 G3电脑安装win7系统方法
  4. mysql查询结果导出excel_Mysql查询结果导出为Excel的几种方法
  5. python周末吃什么_中午不知道吃什么?用Python爬取美团外卖评论帮你选餐!
  6. eclipse php xdebug,Eclipse for php + Xdebug搭建PHP的调试环境
  7. USB HID学习:一点开发记录
  8. C#中using关键字的作用及其用法(转)
  9. asp.net常用正则表达式
  10. idea插件安装在哪个目录_从零开始编写自己需要的IntelliJ IDEA 插件
  11. 【iOS开发-60】案例学习:多组数据的tableView设置、添加右側组索引、多层数据模型设置以及valueForKeyPath...
  12. C# dataGridView控件 控件中至少有一列没有模板问题【解决】 添加新列
  13. MATLAB安装“geoidegm2008grid.mat”数据(EGM2008模型计算大地水准面和高程异常)
  14. Java短信平台实战第一天
  15. python:双色球随机选号
  16. 三极管与场效应管之导通与截止说明
  17. javascript 简繁转换
  18. PHP通过CURL爬取飞猪国际机票
  19. nrf24l01工作原理
  20. django+前端+数据库 week1

热门文章

  1. 有ul没有字html,HTML ul 标签
  2. 土木工程和计算机专硕,第一次发帖 关于大工土木专硕
  3. vs2019能写Java吗_Visual studio2019打包程序过程
  4. HTML+CSS+JS实现echarts图表炫光分布地图动画
  5. python 概率分布类型检验_统计学:假设检验Python案例实现+概率论基础知识回顾...
  6. nsq Android客户端,NSQ的golang客户端简单使用
  7. linux dhcp 负载均衡,dhcp双机负载均衡
  8. 点击编辑框全选内容java_Android 中使用EditText 点击全选再次点击取消全选功能
  9. java中isolate时间_Java HikariDataSource.setIdleTimeout方法代码示例
  10. Java 将中缀表达式转换成后缀表达式