[英]Using anonymous function in php to change multiple variables in outer function
这是我的匿名函数:
$step = function() use ($text,$count,$new_text) {
$new_text .= $text[$count];
$count++;
我正在读取一个长文本值并扫描错误字符。 如果$ text [$ count]的值确定,我想将其添加到新的text变量中,并通过调用$ step()增加计数。 当然,我可以在代码中一遍又一遍地重复这两行,但是使用匿名函数似乎要简单得多。 唯一的问题是它不起作用。 外部函数中的变量不变。
我究竟做错了什么。 另外,如果有这种方法,还有什么不同的方法呢? 必须有一种方法可以提取整个函数中几行重复的代码。
如果要在执行函数后获取变量的修改版本,则必须通过引用传递,如下所示:
<?php
$text = 'Some text';
$anon = function() use (&$text) {
$text .= ' and more...' ;
};
$anon();
print $text; // returns: Some text and more...
use
语句仅从父作用域继承变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.