【发布时间】:2019-10-14 12:57:14
【问题描述】:
我想知道是否可以创建一个使用不同元素/变量的函数,并在匿名函数上“使用”。
例如,我有这种脚本:
$loadScript = function($src) use ($var1, $var2, $var3)
{
ob_start();
include($src);
$result = json_decode(ob_get_clean(),true);
return $result;
};
$result = $loadScript();
我想使用该脚本创建一个函数,该脚本可以允许为use 使用动态变量,如下所示:
$src = 'src/...';
$arrayOfUseVars = array($var1,$var2,$var3,...);
function loadScript($src, $arrayOfUseVars)
{
function($src) use ($arrayOfUseVars)
{
ob_start();
include($src);
$result = json_decode(ob_get_clean(),true);
return $result;
};
}
我不知道是否可以使用一组变量 ($arrayOfUseVars) 或其他允许动态添加一个或多个变量的方法 ($var1, $var2, $var3, $var4, ... ) ?
谢谢
【问题讨论】:
-
您不会以这种方式获得任何实际命名的变量,但您应该能够像往常一样访问放入函数内部数组的值 -
$arrayOfUseVars[0]、$arrayOfUseVars[1]等。当然,您也可以使用带有命名键的关联数组,这可能有助于更好地区分不同的可能值。 -
你也可以看看这个php.net/manual/en/…
-
感谢您的评论,但我想调用我的函数“loadScript()”,有时使用 1 个变量用于“使用”,有时使用 5 个或更多变量用于“使用”,我不'不知道是否有可能做到这一点(这就是为什么我将数组作为示例(但我知道数组不可能)但我会寻找另一种方法来做到这一点,当然如果可能的话。跨度>
-
如果你想让包含的文件以原始变量名使用该变量,那么这是不可能的。
-
@AbraCadaver 谢谢这是个好主意,但我尝试过“...$myvars”返回一个数组,但我不能在匿名函数中第二次使用“use” ,我认为没有办法做到这一点:/
标签: php