如何访问函数Func1中的变量X而不是全局范围
$X='hi';
function Func1(){
global $X;
echo $X;
}
function Func2(){
$X='hello';
Func1(); // I want to echo "hello" not "hi"
}
答案 0 :(得分:0)
(首先,努力避免使用全球性的好工作。他们几乎从来都不是正确的答案。)
PHP函数中的变量是本地作用域的 - 它们不会从它们被调用的地方继承任何内容。 Func1不知道任何变量或Func2中发生的任何其他事情,它只知道自己。
如果您想在函数中使用变量,则需要将其作为参数传递:
function Func1($X){
echo $X;
}
function Func2(){
$X='hello';
Func1($X);
}
值得阅读http://php.net/manual/en/language.variables.scope.php以获得PHP的基础知识基础。
答案 1 :(得分:0)
试一试
$x = 'hi';
function func1(){
echo func2();
}
function func2(){
return $x = 'hello';
}
将覆盖x变量,函数将返回变量数据。
接下来,将在func1中调用func2,并在屏幕上显示返回的值。
试着尽量减少行数。