php中const与define的区别

PHP / 544人浏览 / 0人评论

const用于类成员变量或者在某个php脚本中可以定义,一经定义不可修改;define用于全局常量,不可用于类成员变量的定义,const可在类中使用,define不能;const定义的常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。

php中const与define的区别

const用于类成员变量或者在某个php脚本中可以定义,一经定义不可修改。

<?php
class Url
{
   const URL_COMMON        =   0;  //普通模式
   const URL_PATHINFO      =   1;  //PATHINFO模式
   const URL_REWRITE       =   2;  //REWRITE模式
   const URL_COMPAT        =   3;  // 兼容模式
}

$obj = new Url();
echo $obj::URL_COMMON;
// 输出0
?>

比如TP3.2中 URL 模式定义

<?php
const URL_COMMON        =   0;  //普通模式
const URL_PATHINFO      =   1;  //PATHINFO模式
const URL_REWRITE       =   2;  //REWRITE模式
const URL_COMPAT        =   3;  // 兼容模式
echo URL_COMMON;
// 输出 0
?>

define用于全局常量,不可用于类成员变量的定义,const可在类中使用,define不能。

const定义的常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。

在运行时定义一个常量。

define('EXT', '.html', true);

const不能在条件语句中定义常量,而define函数可以。

if($nickname=='常量'){
   define('LE','hello');
}

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我