- Home
- Categorie
- Coding e Sistemistica
- PHP
- Estrarre elemento randon da un array ed scartarlo dalla prossima estrazione
-
Estrarre elemento randon da un array ed scartarlo dalla prossima estrazione
Buongiorno a tutti del forum... ho questo array, mi permette di estrarre i singoli nomi al suo interno in maniera random, vorrei che dopo aver estratto il nome, quello estratto non rientra piu in quelli da estrarre.. spero di essere stato chiaro. Grazie in anticipo.
<?php
function array_random_portieri($arr, $num = 1) {
shuffle($arr);
$r = array();
for ($i = 0; $i < $num; $i++) {
$r[] = $arr*;
}
return $num == 1 ? $r[0] : $r;
}
$portieri = array("Buffon", "Reina", "Sepe", "Casillas", "De Sanctis", "Marchetti", "Bizzarri", "Mirante", "Amelia");
print_r(array_random_portieri($portieri));
?>
-
Questo è il codice da utilizzare, ogni volta che lanci la pagina ti stampa a video i valori dell' array presi dal file txt senza inserire duplicati..
-
Questo è il codice da utilizzare, ogni volta che lanci la pagina ti stampa a video i valori dell' array presi dal file txt senza inserire duplicati.. La funzione randomget crea un numero random senza duplicati, alla funzione devi passargli il numero iniziale, il numero totale dei parametri dell' array ed il numero totale dei numeri che ti servono, ti restituisce il numero e questo viene passato all' array nel ciclo for estraendo cosi i dati in maniera casuale e senza duplicati.
<?php function randomGen($min, $max, $quantity) { $numbers = range($min, $max); shuffle($numbers); return array_slice($numbers, 0, $quantity); } $nomefile="testo.txt"; $aprirefile=fopen($nomefile,"r"); if(!$aprirefile) die ("Errore nella operazione con il file"); $fileintero=fread($aprirefile,filesize($nomefile)); fclose($aprirefile); $parametro=explode(",",$fileintero); $numbers = range(0, count($parametro)); $val=randomGen(0,count($parametro),count($parametro)); for ( $i = 0 ; $i <= count($parametro) ; $i++ ) { echo $parametro[$val*]."-"; } ?>