PHP中用const和define两种方式有什么区别
发布时间:2023-12-31 12:42:17 所属栏目:PHP教程 来源:DaWei
导读: 今天小编跟大家讲解下有关“PHP中用const和define定义常量不同在哪”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。
在
在
今天小编跟大家讲解下有关“PHP中用const和define定义常量不同在哪”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。 在PHP中定义常量时,可用const与define这两种方式,那他们到底有什么区别呢? 如果在类中定义常量,不能用define,而用const,如下例: <?php //在类外面通常这样定义常量 define("PHP","111cn.net"); class MyClass { //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号 const constant = 'constant value'; function showConstant() { echo self::constant . "<br>"; } } echo MyClass::constant . "<br>"; $classname = "MyClass"; echo $classname::constant . "<br>"; // PHP 5.3.0之后 $class = new MyClass(); $class->showConstant(); echo $class::constant."<br>"; // PHP 5.3.0之后 //print_r(get_defined_constants()); //可以用get_defined_constants()获取所有定义的常量 ?> 一般是define在类外定义常量,const在类内定义常量,并且const必须通过类名::变量名来进行访问。但是php5.3以上支持类外通过const定义常量,看如下,这样是ok的: <?php const a = "abcdef"; echo a; ?> 关于常量的基础知识,这里不说了,除了以上,define和const的其它区别(摘自网络): 1.const不能再条件语句中定义常量,但是define是可以的,如下: <?php if(1){ const a = 'java'; } echo a; //必错 ?> 2.const采用一个普通的常量名称,define可以采用表达式作为名称 <?phpconst FOO = 'PHP'; for ($i = 0; $i < 32; ++$i) { define('PHP_' . $i, 1 << $i); } ?> 3.const只能接受静态的标量,而define可以采用任何表达式。 <?php const PHP = 1 << 5; // 错误 define('PHP', 1 << 5); // 正确 ?> 以上就是关于“PHP中用const和define定义常量不同在哪”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐