我试图遍历一个mysql结果并在每条记录上运行一个匿名函数,但是我在变量范围方面遇到了一些麻烦。这个问题是更大流程的一部分,但是我在这里创建了一个简化的示例,简单地演示了该问题:
function runLoop($some_mysql_resource){
$res = 'RESULTS: ';
sqlEach($some_mysql_resource, function($sql){
$res .= $sql['id'].',';
})
return $res;
);
有什么方法可以使上面的runLoop函数在不更改逻辑流程的情况下输出以下内容?
RESULTS: 1,2,3,4,etc...
通过$res
为使用参数“引用”,以您的回调use
function runLoop($some_mysql_resource){
$res = 'RESULTS: ';
sqlEach($some_mysql_resource, function($sql) use (&$res) {
$res .= $sql['id'].',';
})
return $res;
);
我假设这$sql
是在您的真实代码中定义的,因此将具有作用域
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句