比较PHP中的define()与const

我们知道,define()和const都用于在PHP脚本中声明一个常量。

语法

<?php

   const VAR = 'FOO'

   define('VAR', 'FOO');

?>

让我们讨论这两者之间的区别。

  • 两者之间的基本区别是const在编译时定义常量,而define()在运行时定义常量。

  • 我们不能使用const关键字在条件块中声明常量,而使用define()可以实现这一点。

  • <?php

       if(){

       const VAR = 'FOO'; // invalid

       }

       if(){

       define('VAR', 'FOO'); //valid

       }

    ?>

  • const接受静态标量(数字,字符串或其他常量,如true,false,null,__ FILE__),而define()则接受任何表达式。

  • const始终区分大小写,而define()允许您通过将true作为第三个参数传递来定义不区分大小写的常量。

  • const也可以在类或接口中使用以声明类常量或接口常量,但由于这个原因不能使用define()

  • <?php

       class abc{

          const VAR = 2; // valid

          echo VAR; // valid

       }

    //但是

       class xyz{

          define('XUV', 2); // invalid

          echo XUV;// invalid

       }

    ?>

  • 上面的例子表明,我们可以使用const关键字在类中声明常量,但是define()不能用于在类中声明常量。

以上是 比较PHP中的define()与const 的全部内容, 来源链接: utcz.com/z/343539.html

回到顶部