Newsgroup: it.comp.www.php
Titolo: arrray associativi

ciao,
ecco il mio problema quotidiano:
ho definito ques'array associativo:
	$tipi = array(
                   '1'  => 'magliette',
                   '2' => 'pantaloni',
                   '3' => 'scarpe',
           );
ora io vorrei fare in modo che se la variabile $categoria vale 1 cambi 
il suo valore come per magia in "magliette", se vale 2 si trasformi in 
"pantaloni" etc etc...c'č un modo per farlo senza 20 cicli IF?? oppure 
c'č un modo ancora piů semplice degli array associativi?
ciao e grazie!

 c'č un modo ancora piů semplice degli array associativi?
Ciao Nicola,
prova cosě
$tipi = array(1 => 'magliette',
              2 => 'pantaloni',
              3 => 'scarpe');
$categoria = 1;
$categoria = $tipi[$categoria];
echo $categoria;
Ciao.
-- 
Federico R.

 il suo valore come per magia in "magliette",
Salve
 $categoria = 1;
 $tipo  = $tipi[$categoria];
 $categoria = &$tipo;
 echo $categoria;
/* oppure */
 $categoria = 1;
 echo in_array($categoria, array_keys($tipi)) ? $categoria =
$tipi[$categoria] : '';
... come per magia?
Saluti
Corrado Modica
www.pachinoglobale.com


te la metto lo stesso (lo puoi usare se non sai l'ordine dei risultati)
$array_q[] =  $variabile = "stringa del 0";
$array_q[] =  $variabile = "cani";
$array_q[] =  $variabile = "porci";
for($i=0; $i<count($array_q); $i++){
echo $array_q[$i];
}
- codice scrivi meglio e'

 c'è un modo ancora più semplice degli array associativi?
visto che altri ti hanno già risposto vorrei puntualizzare sulle 
finalità degli array associativi, mi sembra di capire che tu non abbia 
effettivamente bisogno di array associativi:
Un array associativo consente di avere un 'alias' non numerico per una 
chiave, in poche parole permette di usare il 'nome della chiave' come un 
indice:
Supponi che ti serva una struttura articolata che rappresenti un insieme 
di dati per esempio: $appuntamento desideri che contenga il nome della 
persona con cui hai un appuntamento, il luogo, la data e l'ora. 
Piuttosto che fare un array di questo tipo:
$appuntamento[0]='Firenze';
$appuntamento[1]='Gianfranzo';
$appuntamento[2]='2003-12-15';
$appuntamento[3]='12:35';
puoi comodamente fare:
$appuntamento['Luogo']='Firenze';
$appuntamento['Nome']='Gianfranzo';
$appuntamento['Data']='2003-12-15';
$appuntamento['Ora']='12:35';
sono delle rappresentazioni equivalenti delle stesse informazioni, ma è 
molto più comodo scrivere e soprattutto leggere $appuntamento['Nome'] 
piuttosto che $appuntamento[1].
Nel tuo caso tu vuoi costruire una associazione 1 a 1 di un indice con 
una "descrizione" per cui la rappresentazione dell'array associativo non 
ti è comoda, è sufficiente un array "normale" che appunto fa proprio 
quella associazione.
A meno che tu non voglia fare in modo che Per esempio $abbigliamento sia 
la descrizione di come uno è vestito
$abbigliamento['maglietta']='Lacoste';
$abbigliamento['pantaloni']='Levis';
$abbigliamento['scarpe']='Timberland';
$comesivestelagente=($a1,$a2,$a3);
dove $a1,$a2,$a3 sono array del tipo $abbigliamento
A questo punto il vantaggio starebbe nel poter sapere che maglietta uno 
indossa senza dover ricordare che l'indice della maglietta è 0.
per cui $comesivestelagente[1]['maglietta'] ti indica che maglietta 
indossa $a2, che è del tutto equivalente a $comesivestelagente[1][0]
Ciao Gianfranzo
-- 
ICQ#: 21258924 Nick Gianfranzo
Home page 
http://www.gianfranzo.it
Gianfranzo è contro la guerra
"dopo tutto, gli angeli non sono altro che dei volatili" D. Pennac