[ php ]
Chiarisco subito la situazione: abbiamo 3 array contenenti valori tra loro collegati, volendo stampare questi array in ordine sempre casuale dobbiamo fare in modo da mescolare questi array ma di mantenere i collegamenti fra loro.
Esempio pratico:
$arr1=array("uno","due","tre");
$arr2=array("one","two","three");
$arr3=array("un","dos","tres");
Per mescolare un array ci basterebbe usare la funzione 'shuffle', ma questa purtroppo non prevede più di un argomento (quindi più array).
Come fare?
Ecco una soluzione: creiamo un array multidimensionale (a seconda del numero degli array originali) così da poter passare questo come argomento in shuffle().
foreach($arr1 as $chiave=>$valore){
$gruppo_array[]=array($valore,$arr2[$chiave],$arr3[$chiave]);
}
A questo punto risulta tutto più semplice:
shuffle($gruppo_array);
print_r ($gruppo_array);
Provatelo e vedete cosa restituisce ;)
scritto il 18/09/2005
« torna agli articoli