在函数内部无法访问回调函数外部定义的PHP变量

Ale*_*ski 3 php variables scope

我正在尝试$variable在我的回调函数中使用.我将它传递给另一个这样的函数:functionName("egTraders_ItemDataBound")在函数内部,我将它分配给一个变量并调用它:$theAssignedFunctionVariable($this, $rowToAdd); 这个函数egTraders_ItemDataBound被正确调用但变量$variable 是未定义的.我能做什么?

<?php

$variable = "var";
function egTraders_ItemDataBound($sender, $param1)  {
    echo $variable;
}

?>
Run Code Online (Sandbox Code Playgroud)

Bar*_*ski 8

如果您运行的是PHP 5.3+,只需使用use keyword(documentation)创建匿名函数即可实现此目的:

$bar = 'bar';
$f = function() use ($bar)
{
    var_dump($bar);
};

function bar( $fName )
{
    $fName();
}

bar($f);
Run Code Online (Sandbox Code Playgroud)