El otro día me surgío la necesidad de insertar en una tabla MySQL una serie de valores almacenados en una array asociativo, donde la key del array se corespondería con la columna de nuestra tabla MySQL y el value se correspondería con el contenido de la celda destino.
//Definimos la tabla destino
$tabla_destino = 'test';

// Creo el inicio de la acción
$sql = "INSERT INTO " . $tabla_destino;

// Hago el implode de las keys del $array_sql y lo concateno a la consulta
$sql .= " (".implode(", ", array_keys($array_sql)).")";

// Hago el implode de los valores de $array_sql y lo concateno con la consulta y las columnas SQL
$sql .= " VALUES ('".implode("', '", $array_sql)."') ";
El array puede provenir de otra función, de un formulario o haber sido creadod e manera predefinida, pero recordar que tiene que el código anterior está orientado a una rray asociativo de este tipo:

$array = array(
"foo" => "bar",
"bar" => "foo",
);