繁体   English   中英

在另一个函数PHP中的一个函数中获取变量

[英]Get a variable in a function within another function PHP

帮助我在另一个函数中的一个函数中获取变量

$variable ="alfa";

function foo(){
    $variable ="beta";

    $my_function =    function(){
                         global $variable;
                         return $variable;
                      };

  return $my_function();
}

我想要函数foo(); 打印“ beta”而不是“ alpha”,我的代码有什么问题?

print foo(); // this print "alpha" and should print "beta"

使用use代替global

$variable ="alfa";

function foo(){
    $variable ="beta";

    $my_function =    function() use ($variable){
                         return $variable;
                      };

  return $my_function();
}

您可以在文档示例3中阅读更多相关信息

您应该声明global $variable; 在分配$variable ="beta";

如果不是,则您是在函数作用域而不是全局作用域中工作。

尝试清除“变量范围”的概念

在函数foo() ,您声明变量$ variable,然后在匿名函数中访问在foo()声明的$ variable,因此,如果要在匿名函数中使用全局$ variable,在声明函数foo()之后,应该立即使global $variable

$variable ="alfa";

function foo(){

global $variable;
$variable ="beta";

$my_function =    function(){
                     global $variable;
                     return $variable;
                  };

  return $my_function();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM