Construyendo CSV con array

Necesito ejecutar una consulta que devolverá varias filas y exportarla a un CSV. Aunque tengo que poner las celdas en un cierto orden.

Así que digamos que mi mesa está distribuida id, nombre, dirección, esposa. Necesito construir un csv en el orden de identificación, dirección, esposa, nombre. Pensé que podría hacer una matriz en el orden correcto y luego hacer un csv con eso, pero después de una hora de buscar en Google no puedo descubrir cómo hacer un csv con una matriz.

Hay fputcsv pero eso requiere un csv pre-hecho. Además, esperaba que hubiera una forma de hacerlo.

 public function export() {
    $this->load->helper('download');

    $data[1] = 'i like pie';
    $data[2] = 'i like cake';
    force_download('result.csv', $data);  
}

Lo intenté, pero el error decía que el archivo auxiliar de descarga esperaba una cadena, no una matriz.

Respuestas a la pregunta(3)

Su respuesta a la pregunta