PHP开发笔记's Archiver

juanzi 发表于 2016-6-20 15:25

php 中const与define的区别

<div class="bct fc05 fc11 nbw-blog ztag"><p>在php中定义常量时,可用到const与define这两种方法,那他们到底有什么区别呢?</p>  <p>1.const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。</p>  <p>2.const可在类中使用,define不能。</p>  <p>3.const不能在条件语句中定义常量。</p>  <p>&nbsp;&nbsp;&nbsp; 如:if(constition){</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里不能用const,只能用define</p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>  <p>4.const只能接受静态的标量,而define可采用任何的表达式。</p>  <p>&nbsp;&nbsp;&nbsp; const BIT_5 = 1 &lt;&lt; 5;&nbsp;&nbsp;&nbsp; // invalid&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; define('BIT_5', 1 &lt;&lt; 5); // valid&nbsp;</p>  <p>5.const定义的常量时大小写敏感的,而define可通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。</p>  <p>6.const采用一个普通的常量名称。而define可采用表达式作为常量。</p>  <p>7.使用const使得代码简单易读,const本身就是一个语言结构。而define是一个函数。</p>  <p>8.const在编译时比define快很多。<wbr></p></div>

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.