我没有要处理的具体情况,因此请将此视为一个一般性问题。如果语言很重要,答案可能更倾向于 PHP。
如果我有多个函数中需要的大型数据数组(或其他数据类型),并且不会改变,我应该如何使用该数据?例如,也许我有一个看起来像的数组
$states = array(
"AL" => "Alabama",
...
"WY" => "Wyoming"
);
显然,这个数组不需要很快改变。如果我有五个必须使用上述数组的函数,最好的解决方案是什么?我的三个想法是:
- 将其声明为全局常量
这似乎是最直接的,但是我与之交谈过的一些人似乎建议回避使用全局变量。这里的任何见解将不胜感激。
- 将其传递给函数
这对我来说似乎是个坏主意,因为它永远不会改变,函数参数应该用于变量,对吧?更不用说必须将它传递给一个不使用它的函数,这样它就可以被另一个函数使用。这似乎是一个糟糕的做法。
- 是否由函数返回
这是我没有看到很多使用的一个,但我已经用自己几次将 mysqli_connect() 信息传递给多个函数。它工作得很好。这是否被视为不良做法?我应该把它吸起来并使用全局常量吗?
我意识到使用全局常量听起来很明显,但我听过(并阅读过)不止一个口头禅,比如“如果你声明全局变量,你做错了”之类的。谁能解释为什么会这样?
感谢您能给我的任何见解,伙计们。