php定义常量 define vs const
常量一旦定义就不能在改变或者取消。 在php中定义常量可以使用define()函数,在php5.3之后同样可以使用const关键字来定义常量。
define 和 const的区别
语法区别
// 使用define定义常量
define("Pi",3.14);
// 使用const定义常量
const Pi1 = 3.14
复制代码
定义时期区别
define() 在执行期定义常量,而 const 在编译期定义常量。 这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。
if( true){define("STEP",1);}
=> trueif( true ){ const STEP = 1; }
PHP Parse error: Syntax error, unexpected T_CONST on line 2
>>>
复制代码
命名空间
define() 定义常量在全局根命名空间下面,而const定义的常量会在当前的命名空间下面。
>>> namespace Test;
>>> define("TEST","test");
=> true
>>> echo \Test\TEST;
PHP Fatal error: Undefined constant Test\TEST in eval()'d code on line 1
>>> echo \TEST;
test⏎
>>> const TEST1 = "test";
>>> echo \Test\TEST1
test⏎
>>> echo \TEST1
PHP Error: Undefined constant 'TEST1' on line 3
>>>
复制代码
表达式
define允许你在常量名和常量值中使用表达式,const不支持,这使得define很灵活
define('TRANSPORT_METHOD_SNEAKING', 1 << 0); // OK!
const TRANSPORT_METHOD_WALKING = 1 << 1; //Compile error! const can't use expressions as values
复制代码
类常量
可以把在类中始终保持不变的值使用const定义为常量,define不能在类中定义常量
<?php
class MyClass
{const constant = 'constant value';function showConstant() {echo self::constant . "\n";}
}echo MyClass::constant . "\n";$classname = "MyClass";
echo $classname::constant . "\n"; // 自 5.3.0 起$class = new MyClass();
$class->showConstant();echo $class::constant."\n"; // 自 PHP 5.3.0 起
?>
复制代码
原文链接 github.com/DanceSmile/…
转载于:https://juejin.im/post/5aa0dec6f265da239f06f141
php定义常量 define vs const相关推荐
- jquery 定义php变量,php定义常量_php 定义常量define与普通变量
摘要 腾兴网为您分享:php 定义常量define与普通变量,中信期货,中国体育,中国搜索,小米钱包等软件知识,以及ps人像插件,河南电大在线,自拍神器手机,国金证券,ipa包,微商加人软件,山东省地 ...
- PHP常量:define和const的不同之处
1.定义 常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5. ...
- PHP常量详解:define和const的区别
常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...
- #define 定义常量和宏,指针和结构体
目录 #define 定义常量和宏 #define 定义常量 #define 定义宏 指针 内存 指针变量的大小 结构体 #define 定义常量和宏 #define 定义常量 在变量和常量2,#de ...
- 【ES6 教程】第一章 新的ES6语法03—使用const 关键字定义常量
英文 | https://www.javascripttutorial.net 翻译 | 杨小爱 在本教程中,我们将学习如何使用 JavaScript const 关键字定义常量. JavaScrip ...
- define() vs const 该如何选择?
使用 define(),除非考虑到可读性.类常量.或关注微优化 1.在 PHP 中是使用 define() 函数来定义常量,PHP 5.3.0 以后,PHP 中也能够使用 const 关键字来声明常量 ...
- ios项目 swift 定义常量 其他文件引用_面试应该注意的Swift知识点
1. 给一个数组,要求写一个函数,交换数组中的两个元素 二X程序员: 好简单啊,直接写出以下结果 func swap(_ nums: inout [Int], _ p: Int, _ q: Int) ...
- C++ 笔记(07)— 常量(字面常量、const定义常量、constexpr 定义常量、enum 定义常量、define 定义常量)
在 C++ 中,常量类似于变量,只是不能修改.与变量一样,常量也占用内存空间,并使用名称标识为其预留的空间的地址,但不能覆盖该空间的内容. 常量可以是任何的基本数据类型,可分为整型数字.浮点数字.字符 ...
- 在定义常量时,为什么推荐使用const,而不是#define?
在定义常量时,为什么推荐使用const,而不是#define? const修饰词可以将一个变量修饰为"只读",这个就能称为常量么?姑且认为可以.const是只读的意思,它限定一个变 ...
最新文章
- 某大厂程序员哀叹:千万不要从大厂往小厂跳,后悔死了!小厂只会逼迫压榨,刚来就一个劲要产出!...
- YTU_3137: 动态规划基础题目之拦截导弹
- lesson5 元组
- CF932G-Palindrome Partition【PAM】
- exploration 和 exploitation 的区别
- 数据库的表连接和函数学习
- 打开VScode一直弹报错,错误 unins000.exe,不能正常更新
- 伺服舵机四方运动程序以及角度确定
- U盘修复“系统找不到指定文件”问题解决方法
- PostgreSQL - 一文看懂explain
- 软件工程——实体关系图 + 状态转换图 + 数据流图
- 有关H5第二章排列页面内容介绍
- linux防火墙(firewall、iptable)
- switch命令大全
- 云计算与大数据平台课堂作业
- JDBC数据库连接测试工具
- 安兔兔电脑ssd测试软件,安兔兔SSD测试软件测评,威钰战国NVMe SSD
- Matlab调用百度API画地图讲解教程
- 「C++简单实现斗地主」机关算尽的地主,却低估了我的实力
- Android 通过代码执行shell命令获取电量百分比