我无法获取函数外部函数的变量值...
示例:
function myfunction() {
$name = 'myname';
echo $name;
}
然后我称之为......
if (something) {
myfunction();
}
这回显$name
,但如果我尝试在输入值内回显$name
,则不会显示:
<input type="text" name="name" value="<?php echo $name ?>"
如何访问此变量值?
答案 0 :(得分:2)
$name
变量是本地变量,直到您明确将其定义为global:
function myfunction() {
global $name;
$name = 'myname';
echo $name;
}
但这似乎不是一个很好用的全局变量。你的意思是返回值并分配它吗? (或者只使用一次?)
function myfunction() {
$name = 'myname';
return $name;
}
...
$name = myfunction();
答案 1 :(得分:0)
了解variable scope 变量具有局部范围。你必须使它成为全球性的。但更好的是,使用一些模板引擎或实现Registry
答案 2 :(得分:0)
这是范围问题..
http://php.net/manual/en/language.variables.scope.php
就像你在一个封闭的房间里一样,我们无法看到你做了什么,但是如果你打开一扇门,或者放入摄像机,人们可以,或者可以看到有限的东西,或听到有限的东西......这个是计算机中的东西也是如此
答案 3 :(得分:0)
答案 4 :(得分:0)
$name
变量在该函数中是本地的。所以它只能在该函数内部访问。如果您希望它可以在任何地方访问,您可以执行以下操作:
global $name;
仍然在外面声明它,但是通过引用将她作为函数参数传递:
function myFunc(&$name) {
$name = "text";
}