在php中使用匿名函数来更改外部函数

时间:2016-02-26 23:21:55

标签: php scope anonymous-function

这是我的匿名函数:

            $step = function() use ($text,$count,$new_text) {                           
            $new_text .= $text[$count];                                             
            $count++;

我正在阅读长文本值并扫描不良字符。如果$ text [$ count]的值没问题,我想将它添加到新的文本变量中并通过调用$ step()来增加计数。当然,我可以在我的代码中反复重复这两行,但使用匿名函数似乎更简单。唯一的问题是它不起作用。变量在外部函数中没有变化。

我做错了什么。或者,如果有的话,采用不同的方法是什么?必须有一种方法可以在整个函数中抽象几行重复的代码。

1 个答案:

答案 0 :(得分:2)

如果在执行函数后想要修改变量版本,则必须通过引用传递,如下所示:

use

{{1}}语句只是从父作用域继承变量。