PHP将代码用作函数,变量不起作用

我有这段代码可以独立运行:


file_put_contents('dataFile', implode('', 

    array_map(function($data) {

    return stristr($data,"NSQ = ") ? "NSQ = school\n" : $data;

    }, file('dateFile'))

));

这将读取数据文件并找到条目NSQ =并将其更新为NSQ = school


我要重复使用这个多次,所以把它改成一个函数:


function updatesite($site) {

file_put_contents('dataFile', implode('', 

    array_map(function($data) {

    return stristr($data,"$site = ") ? "$site = school\n" : $data;

    }, file('dateFile'))

));

}

$site最初,我得到了一个不存在的错误,所以我global $site;在返回之前添加了。


那停止了错误,但它没有更新文件。


有什么办法可以使用这样的变量吗?


万千封印
浏览 82回答 1
1回答

蝴蝶刀刀

您可以use像这样将变量传递给函数回调:function updatesite($site) {    file_put_contents('dataFile', implode('',         array_map(function($data) use ($site) {            return stristr($data,"$site = ") ? "$site = school\n" : $data;        }, file('dateFile'))    ));}
打开App,查看更多内容
随时随地看视频慕课网APP