credo che per il tipo di array che hai, quella da te adottata sia l'unica soluzione.... se vuoi fare la cosa in modo più pulito devi necessariamente cambiare la struttura dell'array facendolo diventare monodimensionale. mettendo l'id come indice dell'array anzichè come elemento, l'array lo costruisci sempre estraendo i dati dal database ma in modo simile a questo:
Codice PHP:
$rs=mysql_query("SELECT id, nome FROM tabella", $dbLink);
while($row=mysql_fetch_array($rs))
$_target[$row['id']] = $row['nome'];
unset($row);
mysql_free_result($rs);
e così ottieni qualcosa del genere:
Codice PHP:
$_target[0] = 'Uomo';
$_target[1] = 'Donna';
$_target[2] = 'Unisex';
$_target[3] = 'Bambino';
a questo punto, quando fai il riepilogo, non devi fare altro che:
Codice PHP:
print $_target[$_POST['target']];
le funzioni di ricerca all'interno degli array bidimensionali che richiedono il confronto di uno degli elementi più annidati, richiedono sempre una scansione dell'array...