【发布时间】:2011-11-15 15:10:23
【问题描述】:
假设我有这个:
function myFunc()
{
global $distinct_variable;
die ($distinct_variable);
}
function anotherFunc()
{
$distinct_variable = 'Hello World';
myFunc();
}
anotherFunc();
为了 anotherFunc() 正确显示“Hello World”,它必须这样写
{
global $distinct_variable;
$distinct_variable = 'Hello World';
myFunc();
}
现在它会显示消息,但为什么我必须全局 $distinct_variable;在 anotherFunc() 中,因为它是 myFunc() 中的全局变量,在 anotherFunc() 中
是的,我知道函数内部的变量不会超出它们,但我认为它应该可以工作......
有人可以解释为什么它不起作用吗? 谢谢。
谢谢你的回答,我现在明白了:)
【问题讨论】:
-
你做错了。这不是您应该如何构建代码的方式。从长远来看,它会给你留下无法维护的混乱和许多令人毛骨悚然的动作。请说明您要执行的操作,以便我们向您展示如何正确执行。
-
本质上,你应该将外部函数的 var 传递给内部函数,否则它会被忽略。
标签: php function variables global