<?php
 
function array2insert($array, $table, $map = 'mysql_escape_string') {
 
	if (!is_callable($map)) { $map = create_function('$a', 'return $a;'); }
	
	$q = '';
	
	$q .= 'INSERT INTO ' . $table . ' (';
	$q .= implode(', ', array_keys($array))
	$q .= ') VALUES(\'';
	$q .= implode('\', \'', array_map($map, $array));
	$q .= '\')';
	
	return $q;
 
}
 
?>

A vrai dire je ne sais même pas si on peut passer une lambda function à array_map, même pas pris le temps de vérifier (et rien trouvé dans la doc