1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php定义常量 define vs const

php定义常量 define vs const

时间:2024-02-24 05:34:49

相关推荐

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\TEST1test⏎>>> echo \TEST1PHP 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不能在类中定义常量

<?phpclass 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 起?>复制代码

原文链接 /DanceSmile/…

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。