现在,让我们不要被问到什么,我不知道怎么做,我已经知道如何了。我问的是什么是最快最有效的方法和原因。
我可以想到三种方法,
声明变量全局
$name = 'Jack';
function displayName() {
global $name;
echo $name;
}
直接在$GLOBALS
数组
$name = 'Jack';
function displayName() {
echo $GLOBALS['name'];
}
将其作为参数传递
$name = 'Jack';
function displayName($name) {
echo $name;
}
我还想过将它定义为常量,但我不确定常量是否适用于像mysqli链接这样的东西。
非常感谢任何输入。
答案 0 :(得分:1)
您的三个示例在性能观点上具有可比性。但你永远不应该依赖 全球国家。所以永远不要声明全局变量。始终将变量作为参数传递。
使用你的第三个例子:
$name = 'Jack';
function displayName($name) {
echo $name;
}
// Of course you need to call your function:
displayName($name);
关于全球状态论证的一个很好的答案:https://softwareengineering.stackexchange.com/questions/148108/why-is-global-state-so-evil
答案 1 :(得分:0)
你真的在这里比较纳秒,但我肯定会选择第三个例子。它对可读性,功能性和组织性更好。我几乎从不在函数中声明全局变量,因为当你开始链接文件并累积数百个变量时,它们会变得混乱,每个变量都有自己的名字。