DEFINE与PHP中的变量

时间:2009-08-03 23:18:11

标签: php

有人可以解释使用

之间的区别
define('SOMETHING', true);

$SOMETHING = true;

也许是其中之一的好处?

我在各处使用变量,甚至在每个页面都包含的配置类型文件中我仍然使用变量,因为我不明白为什么要使用define方法。

5 个答案:

答案 0 :(得分:83)

DEFINE是一个常量,常量是全局的,可以在任何地方使用。它们也无法重新定义,哪些变量可以。

我通常使用DEFINE for Configs,因为没有人可以在事后处理它,我可以在任何地方查看它而不需要全局查询,以便于检查。

答案 1 :(得分:13)

一旦定义,'常量'不能在运行时更改,而普通变量赋值可以。

对于配置指令之类的事情,常量更好,在执行期间不应该更改。此外,如果意图保持不变的值明确地,则代码更容易阅读(以及维护和切换)。

答案 2 :(得分:7)

与支持读写操作的标准变量相比,

define()生成只读变量。

答案 3 :(得分:5)

范围也有差异。

在orignal海报提供的示例中,$SOMETHING将无法在函数中访问,而define('SOMETHING', true)将是。{/ p>

答案 4 :(得分:1)

当您想要从函数内部访问数据时,常量非常有用,请检查

<?php function data(){
define("app","hey you can see me from outside the function",false);

$tech = "xampp";  }  data();  echo $tech;  echo app;  ?>

如果您使用变量,那么我将永远不会得到内部值是我得到的

注意:未定义的变量:第8行的D:\ xampp \ htdocs \ data \ index.php中的tech 嘿,你可以从函数外面看到我