php定义常量
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoshihoukeshuaiL/article/details/53197144
声明常量和声明变量的方式不同,在php中是通过使用define()函数和const来定义常量的。常量的命名与变量相似,也要遵循php标识符的命名规则。常量默认为大小写敏感,按照惯例常量标识符总是大写的,但是不要再常量前面加上“$”符号。
[php]
define()函数的格式如下:
boolean define(string name,mixed value[,bool case_insensitive]);//常量定义函数
[/php]
此函数的第一个参数为变量名,第二个参数为常量的值或是表达式,第三个参数是可选的,如果把第三个参数case_insensitive设为TRUE,则常数将会定义成不区分大小写。预设上是区分大小写的。
[php]
<?php
define("USERNAME","csdn");//字符串
define("FLOAT",94.94);//浮点类型94.94
define("BOOL",true);//布尔值为true
define("AINT",20);//整形20
define("USERNAME","hello world",true); //定义成不区分大小写
echo USERNAME; //输出 hello world
echo username; //输出 hello world
[/php]
const方法
const本身是一个语言结构,而define是一个函数,编译速度上const快于define。
[php]
<?php
class Math {
const num=3.14;
public function showNum(){
return self::num;
}
}
echo Math::num."<br/>";
$math=new Math();
echo $math->showNum();
//结果:3.14 3.14
[/php]
除了刚才说的const比define快之外,他们还有很多不同的地方:
(1)const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。
(2)const可在类中使用,define不能。
(3)const不能在条件语句中定义常量。
[php]
if (...){
const USERNAME = 'csdn'; // 无效定义
}
if (...) {
define('USERNAME ', 'csdn'); // 有效定义
}
[/php]
(4)const采用一个普通的常量名称,define可以采用表达式作为名称。
[php]
const FOO = 'csdn';
for ($i = 0; $i < 32; ++$i) {
define('CS_' . $i, 1 << $i);
}
[/php]
(5)const只能接受静态的标量,而define可以采用任何表达式。
[php]
const CS_5 = 1 << 5; // 无效
define('CS_5', 1 << 5); // 有效
[/php]
(6)const定义的常量时大小写敏感的,而define可通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感(上面有代码)。
---------------------
作者:XiaoBaiduQs
来源:CSDN
原文:https://blog.csdn.net/xiaoshihoukeshuail/article/details/53197144
版权声明:本文为博主原创文章,转载请附上博文链接!