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。有一种特殊的可调用类型。读更多关于它的文章。哦,那很奇怪。我可以调用一个字符串,它将查找函数?谢谢。哦,真奇怪。我可以调用一个字符串,它将查找函数?谢谢