Forum » Programiranje » [PHP] random iz array-a z izjemami
[PHP] random iz array-a z izjemami
Miko55 ::
Iz arraya hočem dobit vrednosti, ji pa vzame naključno. Potem to vrednost izpiše, ter je izbriše iz arraya da je ne izpiše še enkrat. Potem gre še izpisovat še druge po naključnem vrstnem redu ampak če je potem random enak enemu izmed prejšnjih se pojavi error ker tam ni več definirane vrednosti. Sem probal da bi izpisane vrednosti dodal med izjeme ampak mi nekaj ne funkcionira.
Tu je pa še slika izpisa :http://prntscr.com/38j9ag
function whatever() { $array = array( "ena","dva","tri","štiri" ); $izjeme = array_fill(0,4, "bu"); $j=count($array); for($i=0;$i<$j;$i++) { $size=count($array); echo " Size:".$size; $rand=rand(0,$size); $izjeme[$i]=$rand; for($j=0;$j<4;$j++) { if($rand==$izjeme[$j]) { while($rand==$izjeme[$j]) { $rand=rand(0,$size); } } } echo " Rand:". $rand; echo " Echo:".$array[$rand]; unset($array[$rand]); echo "<br/>"; } }
Tu je pa še slika izpisa :http://prntscr.com/38j9ag
Denisj ::
Mislim, da bi tole moglo delat.
function whatever() { $array = array( "ena","dva","tri","štiri" ); while(count($array) != 0) { $size = count($array); echo " Size: ".$size; $rand = array_rand($array); echo " Rand: ". $rand; echo " Echo: ".$array[$rand]; unset( $array[$rand]) ; echo "<br/>"; } }
Ziga Dolhar ::
Nisem čist prepričan da povsem razumem kaj bi rad dosegel, a če razumem pravilno, bi si tole lahko poenostavil s funkcijama shuffle() in array_pop(). Recimo nekaj v stilu:
(Mau na pamet spisano, brez testiranja ...)
Sicer pa - ko je array enkrat zrandomiziran, ga v bistvu ni potrebno ponovno randomizirat. Bi lahko shuffle dal kar nad while zanko.
$array = array('ena', 'dve', 'tri', 'štiri'); shuffle($array); $counter = 1 while(0 < sizeof($array) { echo 'Rand '.$counter++.': '.array_pop($array).'<br/>'; }
(Mau na pamet spisano, brez testiranja ...)
Sicer pa - ko je array enkrat zrandomiziran, ga v bistvu ni potrebno ponovno randomizirat. Bi lahko shuffle dal kar nad while zanko.
https://dolhar.si/
Zgodovina sprememb…
- spremenil: Ziga Dolhar ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | PL SQL problemOddelek: Programiranje | 920 (489) | killa bee |
» | [php] arrayOddelek: Izdelava spletišč | 1370 (1215) | sebavet |
» | python-pomoč pri nalogi z niziOddelek: Programiranje | 1539 (1237) | galu |
» | [Javascript] Reindex ArrayOddelek: Programiranje | 760 (631) | kogledom |
» | JavaScript naloge za faks (ustni izpit)Oddelek: Šola | 2366 (1906) | Lumix |