PHP-将命名函数传递给另一个函数
我有一个函数PHP-将命名函数传递给另一个函数,php,Php,我有一个函数collectRows,它接受一个sqli\u结果对象,并以行数组的形式返回查询结果: function collectRows($result) { ... } 还有另一个函数,它接受一个函数,在返回查询结果之前决定如何处理查询结果: function execQuery($query, $resultsF=null) { ... } 我想像这样使用execQuery: execQuery("SELECT * FROM...", collectRows)
collectRows
,它接受一个sqli\u结果对象,并以行数组的形式返回查询结果:
function collectRows($result) {
...
}
还有另一个函数,它接受一个函数,在返回查询结果之前决定如何处理查询结果:
function execQuery($query, $resultsF=null) {
...
}
我想像这样使用execQuery
:
execQuery("SELECT * FROM...", collectRows);
但我收到投诉,说它找不到常量“collectorrows”
显然,我可以这样做:
execQuery("SELECT * FROM...", function($result) {
return collectRows($result);
});
但如果能写得更简洁,那就太好了
有没有一种方法可以传递命名函数而不将其包装在匿名函数中?应该将函数名而不是函数本身传递给函数:
function execQuery($query, $functionName=null) {
if (is_callable($functionName)) {
$functionName();
}
}
并称之为:
execQuery("SELECT * FROM...", 'collectRows');
有关。函数名而不是函数本身的详细信息应传递给函数:
function execQuery($query, $functionName=null) {
if (is_callable($functionName)) {
$functionName();
}
}
并称之为:
execQuery("SELECT * FROM...", 'collectRows');
有关的详细信息。非常简单,只需将名称作为字符串传递即可。PHP不在乎,反正它会处理的。非常简单,只需将名称作为字符串传递即可。PHP不在乎,反正它会处理的。阅读PHP。有一种特殊的可调用类型。了解更多信息。了解PHP。有一种特殊的可调用类型。读更多关于它的文章。哦,那很奇怪。我可以调用一个字符串,它将查找函数?谢谢。哦,真奇怪。我可以调用一个字符串,它将查找函数?谢谢