php中定义常量的两种方法
内容导读
收集整理的这篇技术教程文章主要介绍了php中定义常量的两种方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1764字,纯文字阅读大概需要3分钟。
内容图文
“常量”的广义概念是:‘不变化的量’(例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;)下面为大家介绍一下PHP中两种定义常量的方法。
推荐教程:PHP视频教程
我们这里用pi来举例。
第一种方式:宏定义,是将Pi定义成一种符号,此时Pi只是3.1415926的别名,在编译期间用3.1415926去取代Pi的值。
1.define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。const定义的常量,在程序运行时在常量表中,系统为它分配内存。
2.define定义的常量,预处理时只是直接进行了替换。所以编译时不能进行数据类型检验。const定义的常量,在编译时进行严格的类型检验,可以避免出错。
3.define定义表达式时要注意“边缘效应”,例如如下定义: #define N 2+3 //我们预想的N值是5,我们这样使用N,int a = N/2; //我们预想的a的值是2.5,可实际上a的值是3.5原因在于在预处理阶段,编译器将 a = N/2处理成了 a = 2+3/2;这就是宏定义的字符串替换的“边缘效应”因此要如下定义:#define N (2+3)。
第二种方式:是将PI定义成变量,但告诉编译器它的值是固定不变的,如果在程序中试图去修改它的值,在编译时会报错。
const定义的常量叫做常变量原因有二:const定义常量像变量一样检查类型;const可以在任何地方定义常量,编译器对它的处理过程与变量相似,只是分配内存的地方不同。
总结起来说,推荐用const ,而不是#define 预处理指令(但是目前看到的是使用#define的较多,难道是方便?有待考量)
1. const 可以定义数据类型,提高了类型安全性。例如,我们上面可以指定PI 这个常量是double 类型
2. const 既然是变量(这里有点别扭,它其实是不变的,但名称叫做常值变量), 那么就有地址,适用面更加广
3. 语法上也更好理解一些
符号常量 #define Pi 3.1415926f; 常值变量 const float pi 3.1415926f;
以上就是php中定义常量的两种方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php中定义常量的两种方法全部内容,希望文章能够帮你解决php中定义常量的两种方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 lecms, classcms, fastadmin, pbootcms, phpcms, eyoucms, yzmcms, PHP, xunruicms, jizhicms, dedecms, wordpress, hkcms, yzncms, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。