基本上,我使用这个方便的函数来处理数据库行(忽略PDO和/或其他东西)
function fetch($query,$func) {
$query = mysql_query($query);
while($r = mysql_fetch_assoc($query)) {
$func($r);
}
}
使用此函数,我可以简单地执行以下操作:
fetch("SELECT title FROM tbl", function($r){
//> $r['title'] contains the title
});
假设现在我需要将所有$r['title']
连接到一个变量中(这只是一个示例)。
我怎么能这么做呢?我在想像这样的东西,但它不是很优雅:
$result = '';
fetch("SELECT title FROM tbl", function($r){
global $result;
$result .= $r['title'];
});
echo $result;
发布于 2011-12-07 01:20:31
如果重写“fetch”来只调用$func一次呢?
function fetch($query,$func) {
$query = mysql_query($query);
$retVal = array();
while($r = mysql_fetch_assoc($query)) {
$retVal[] = $r;
}
$func($retVal);
}
这样,您将只调用$func一次,并在获取数组后重新处理该数组?不确定性能,即使一个函数调用200次听起来也不是个好主意。
https://stackoverflow.com/questions/8403908
复制相似问题