php - 将变量传递给嵌套函数调用

标签 php pass-by-reference

我简单地向您展示代码:

我有这样的功能:

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在回调中未定义

最佳答案

使用 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

关于php - 将变量传递给嵌套函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282385/

相关文章:

php - Wordpress 中的 SQL SELECT 函数不起作用

php key 未定义,但有 key

php - 函数 mcrypt_get_iv_size() 在运行 PHP 7.1.0 的 MAMP 上的 Laravel 4.2 中被弃用

arrays - 从 C# 到 F# : Pinned Array and Stringbuilder in external function called from F#

php - 3 层文件上传架构(浏览器/PHP/API)

php - 如果WordPress中的meta_key=x AND meta_value=y,我该如何显示图像?

reference - 如何避免在 Rust 中克隆一个大整数

c++ - Qt ActiveX 数据类型

c++ - 为什么编译器会尝试将指针传递给引用而不是此代码片段中的指针?

c++ - 通过引用 cpp 返回字符串