如何将Foreach循环中的值传递给ADD_FILTER函数?

时间:2012-07-24 作者:jnthnclrk

我试图在foreach循环中添加多个过滤器。不幸的是,我无法让代码正确引用该值。如何将值从循环传递给函数?

下面将所有筛选器设置为null。

foreach ( $myarray as $key => $value ) {
     add_filter( "plugin_filter_$key", function( $value ) { return $value; } );
}
这是我的测试代码,它将过滤器设置为“true”。

foreach ( $myarray as $key => $value ) {
     add_filter( "plugin_filter_$key", function( $value ) { return \'true\'; } );
}

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成
foreach ( $myarray as $key => $value ) {
     add_filter( "plugin_filter_$key", function () use ( $value ) { return $value; } );
}

Check out the use keyword for closures.

结束

相关推荐

Apply_Filters函数及其变量的说明

我正在学习如何使用PHP构建html表单,方法是以“simplr表单注册”插件为例。我正在查看以下代码:$form .= apply_filters(\'simplr-reg-instructions\', __(\'Please fill out this form to sign up for this site\', \'simplr-reg\')); 您能解释一下这里发生了什么吗?函数的作用是什么,为什么需要“simpr reg指令”和“simpr reg”?为什么这句话不能简单地说:$