Salve,
vorrei risparmiare spazio (quindi meno codice) dalla creazione di tanti array quante query, vi spiego meglio. In una tabella ho dei dati salvati nome, cognome e categoria, in questo momento creo cinque query, una per categoria, dopo di che tramite il while, quindi per ogni query eseguita, mi compongo l'array:

Codice PHP:
$query_anziani mysqli_query($conn"SELECT * FROM tabella WHERE cat = 'anziani' ");
$anziani= array();

while (
$queryFetch mysqli_fetch_array($queryMYSQLI_ASSOC)) {
$cat1 = array (
'nome' => $queryFetch['nome'],
'cognome' => $queryFetch['cognome']
);
array_push($anziani$cat1);
}

//altri while.... 
Faccio questo per ogni query ovviamente e quindi mi chiedevo se c'era un modo dove eseguo una sola query (quindi un solo while) successivamente nella composizione dell'array divido per categorie, esempio pratico:

Codice PHP:
$query mysqli_query($conn"SELECT * FROM tabella ");

$categoria1= array();
$categoria2= array();
$categoria3= array();
// altre categorie

while ($queryFetch mysqli_fetch_array($queryMYSQLI_ASSOC)) {
$cat1 = array (
//tutti i nomi e cognomi con categoria = 'categoria1'
'nome' => $queryFetch['nome'],
'cognome' => $queryFetch['cognome']
);
array_push($categoria1$cat1);
}

$cat2 = array (
//tutti i nomi e cognomi con categoria = 'categoria2'
'nome' => $queryFetch['nome'],
'cognome' => $queryFetch['cognome']
);
array_push($categoria2$cat1);
}

// continuo la compilazione degli array 
Grazie anticipatamente