Básicamente utilizo esta función útil para el procesamiento de filas db (cerrar un ojo en DOP y/o otras cosas)Acceso a la variable fuera de uso de función anónima como params
function fetch($query,$func) {
$query = mysql_query($query);
while($r = mysql_fetch_assoc($query)) {
$func($r);
}
}
Con esta función simplemente puedo hacer:
fetch("SELECT title FROM tbl", function($r){
//> $r['title'] contains the title
});
Digamos que ahora necesito concatenar todos $r['title']
en una var (esto es solo un ejemplo).
¿Cómo podría hacer eso? Estaba pensando en algo como esto, pero no es muy elegante:
$result = '';
fetch("SELECT title FROM tbl", function($r){
global $result;
$result .= $r['title'];
});
echo $result;
¿No debería eliminarse esa desaceleración global? –
Sí, por supuesto, gracias por señalar :) – Xaerxess
+1 para enfatizar el 'enlace anticipado'. Sin embargo, supongo que en el ejemplo anterior cuando 'use (& $ result)' se pasa por referencia, ¿realmente no importa? –