首页 > 代码库 > PHP中定义常量define与const
PHP中定义常量define与const
我们通常把不经常变的值定义成常量,常量一般用全部大写来表示,前面不加美元符号,也可减少团队开发的出错。那么define和const有什么区别呢?
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.6 define(‘BIT_5‘, 1 << 5); // 有效的valid
PHP中定义常量define与const
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。