Php 函数中的变量未显示在函数外部
我在获取函数外的函数中的变量值时遇到问题 例如:Php 函数中的变量未显示在函数外部,php,Php,我在获取函数外的函数中的变量值时遇到问题 例如: function myfunction() { $name = 'myname'; echo $name; } 那我就叫它 if (something) { myfunction(); } 这是在回显$name,但如果我尝试在输入值内回显$name,则不会显示: <input type="text" name="name" value="<?php echo $name ?>" 除非您明确将$nam
function myfunction() {
$name = 'myname';
echo $name;
}
那我就叫它
if (something) {
myfunction();
}
这是在回显$name
,但如果我尝试在输入值内回显$name
,则不会显示:
<input type="text" name="name" value="<?php echo $name ?>"
除非您明确将$name
变量定义为全局变量,否则该变量是局部变量:
function myfunction() {
global $name;
$name = 'myname';
echo $name;
}
但这似乎不是一个很好的全局使用在这里。您的意思是返回值并分配它吗?(或者只使用一次?)
了解
变量具有局部作用域。你必须让它全球化。但更好的办法是使用一些模板引擎或实现注册表这是一个范围问题
就像你在一个封闭的房间里,我们看不到你在做什么,但是如果你打开一扇门,或者放上摄像机,人们可以,或者可以看到有限的东西,或者听到有限的东西。。这也是东西在计算机中的工作原理您应该阅读php页面
要实现您的愿望,有两种解决方案:
使$name
全局化,或
返回函数中的变量
$name
变量在该函数中是局部变量。所以它只能在函数内部访问。如果希望它在任何地方都可以访问,可以执行以下操作:
- 在函数外部和函数类型内部声明它:
global$name代码>
- 仍在外部声明,但通过引用将其作为函数参数传递:
函数myFunc(&$name){
$name=“text”;
}
您是否尝试全球化变量。i、 e.定义为全局:全局$name$name='myname';?正是我要写的:—)人们忘记了全球是双向的
function myfunction() {
$name = 'myname';
return $name;
}
...
$name = myfunction();