Salve ragazzi. Un gran bel problema quello che mi si è appena presentato. Passo a spiegare senza perdere tempo.
Ho un array multidimensionale così composto:
Codice PHP:
$_target[0]['name'] = 'Uomo';
$_target[0]['id'] = 0;
$_target[1]['name'] = 'Donna';
$_target[1]['id'] = 1;
$_target[2]['name'] = 'Unisex';
$_target[2]['id'] = 2;
$_target[3]['name'] = 'Bambino';
$_target[3]['id'] = 3;
Ho usato questo come esempio ma in realtà l'array è formato dalla coppia id - nome estratti da un db (quindi non mi dite di cambiare la struttura).
Il problema è questo: quando vado a costruire il modulo utilizzo un menu select formato in questo modo:
<select name="target">
<option value = "$target[$i]['id']">$target[$i]['name']</option>
</select>
Ora succede che nel momento in cui vado a riepilogare i dati inseriti stampando il valore della variabile $_POST['target'] mi viene stampato l'id e non il nome. Domandona: Come faccio a ricavare il nome? In un array così semplice potrei benissimo fare qualcosa del genere
Codice PHP:
for ($i = 0 ; $i < count($target) ; $i++ )
{
if ($target[$i]['id'] == $_POST['target'])
{
$targetID = $target[$i]['id'];
$targetName = $target[$i]['name'];
}
}
Questa soluzione, però, mi sembra poco elegante ed inoltre dispendiosa su grandi array. Soluzioni? Grazie mille! Ciao!