博主信息
博文 40
粉丝 0
评论 0
访问量 53034
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php const和define的区别
无須終有的博客
原创
1097人浏览过

1、const是一个语言结构;而define是一个函数,可以通过第三个参数来指定是否区分大小写。true表示大小写不敏感,默认为false

define('PI', 3.14, true);

2、const简单易读,编译时要比define快很多。

3、const可在类中使用,用于类成员常量定义,定义后不可修改;define不能在类中使用,可用于全局变量

class MyClass
{    const CONS = '常量值';    function showConstant() {        echo  self::CONS . PHP_EOL;        echo  constant('CONS');      
    }
}

4、const是在编译时定义,因此必须处于最顶端的作用区域,不能在函数,循环及if条件中使用;而define是函数,也就是能调用函数的地方都可以使用

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

5、const只能用普通的常量名,define常量名中可以有表达式

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

6、const定义的常量只能是静态常量,define可以是任意表达式

const BIT_5 = 1 << 5;    // valid since PHP 5.6define('BIT_5', 1 << 5); // 有效的valid

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学