“常量”的狭义概念是:‘没有变动的量’(例如:正在较量争论机顺序运转时,没有会被顺序修正的量;数学函数中的某一个量,例如每个详细的圆的半径、直径数值;物理学中的接近高空的重力减速度;真空中的光速数值;)上面为各人引见一下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中界说常量的两种办法的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 常量