【问题标题】:Pass variables to nested function calls将变量传递给嵌套函数调用
【发布时间】:2013-10-17 10:09:31
【问题描述】:

我只是给你看代码:

我有这样的功能:

function eachLang($callback){
    global $langs;
    foreach($langs as $ln=>$lnnm){
        call_user_func($callback,$ln);
    }
}

接下来我是这样的:

$vf = new ValidFluent($_POST);
eachLang(function($ln){
    $vf->name('title_'.$ln)->required()->maxSize(100);
});

如何轻松将$vf对象传递给回调函数?

我的意思是这样$vf 在回调中是未定义的

【问题讨论】:

    标签: php pass-by-reference


    【解决方案1】:

    在您的回调函数中使用use 来传递变量。在变量名前添加&,进行引用传递:

    $vf = new ValidFluent($_POST);
    eachLang(function($ln) use (&$vf) {
        $vf->name('title_'.$ln)->required()->maxSize(100);
    });
    

    这里有更多关于匿名函数和use 的信息: http://php.net/manual/en/functions.anonymous.php

    【讨论】:

    • $ln 不是概率。 $vf
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    相关资源
    最近更新 更多