con una funzione esterna eseguo una query di tipo select che mi restituisce parecchi record, ognuno con almeno 10 e passa campi.

se fosse stata una select da risultato singolo avre fatto così
Codice PHP:
$query mysql_query("SELECT etc. etc.");
$data mysql_fetch_assoc($query); 
e col return della funzione mi sarei fatto ritornare $data così che avrei potuto accedere ai dati raccolti tranquillamente con $data[colonna1], $data[colonna2] etc.

ma visto che ho più risultati devo fare così
Codice PHP:
while ($data mysql_fetch_assoc($query)){
$dato1[] = $data['colonna1'];
$dato2[] = $data['colonna2'];
...

per farli passare nel return come devo fare ?
far così è parecchio contorto ?
Codice PHP:
return array($dato1$dato2, ...);

list(
$dato1$dato2, ...) = funzione();