14. oktober 2003 - 14:59
Der er
17 kommentarer og 1 løsning
Hurtig hjælp med random funktion!
Skal lige brug elidt hjælp med en random fukntion. Har et array, og jeg skal bruge noget så den echoer alle navne i dette array random men bare ikke de samme navne flere gange.
Annonceindlæg fra SuperOffice
14. oktober 2003 - 15:02
#1
<?php function my_sort ($a, $b) { return rand(-1, 1); } usort($array, 'my_sort'); foreach($array as $element) print $element."<br>"; ?> Det er utestet :-)
14. oktober 2003 - 15:10
#2
Warning: usort(): The argument should be an array in C:\Programmer\Apache Group\Apache2\htdocs\modern\ladder\random_2on2.php on line 9 Warning: Invalid argument supplied for foreach() in C:\Programmer\Apache Group\Apache2\htdocs\modern\ladder\random_2on2.php on line 11
14. oktober 2003 - 15:13
#3
14. oktober 2003 - 15:29
#4
Fx: <?php $navne = array('Arne', 'Bent', 'Carl', 'Dan'); srand((float)microtime()*1000000); shuffle($navne); foreach ($navne as $navn) { echo $navn . "<br />"; } ?>
14. oktober 2003 - 15:30
#5
hm hvis jeg nu gerne vil have 2 navne ud for hinanden ?
14. oktober 2003 - 15:32
#6
hehe $i ... yes er med...
14. oktober 2003 - 15:35
#7
Hvorfor går denne ikke an? <?php $navne = array('Ranger','PAPANDEN','HeatoN','Coldfusion','Quwink','POLICEMASTER','Bertil BearKiller','Jappe Mother fucker','The Dims','Omglol','Jzfg','Ymer','Zeli!c','Vizion'); srand((float)microtime()*1000000); shuffle($navne); foreach ($navne as $navn) { $i++ if(2 =< $i) { echo $navn . "<br />"; $i = 0; } else { echo $navn . "<br />"; } } ?>
14. oktober 2003 - 15:40
#8
<?php $navne = array('Ranger','PAPANDEN','HeatoN','Coldfusion','Quwink','POLICEMASTER','Bertil BearKiller','Jappe Mother fucker','The Dims','Omglol','Jzfg','Ymer','Zeli!c','Vizion'); srand((float)microtime()*1000000); shuffle($navne); $i = 0; foreach ($navne as $navn) { $i++; if(2 <= $i) { echo $navn . "<br />"; $i = 0; } else { echo $navn . "<br />"; } } ?>
14. oktober 2003 - 15:43
#9
Men hvad er det du prøver at opnå med det $i, for den viser jo alle navne sådan som du har lavet det?
14. oktober 2003 - 15:44
#10
detox ... smukt .. fungere helt som jeg havde i tankerne :)
14. oktober 2003 - 15:45
#11
fjernede bare <br> i den ene og satte $i = 1 ... på den måde kommer der 2 navne op ved hinanden :P
14. oktober 2003 - 15:45
#12
smid et svar
14. oktober 2003 - 15:50
#13
Aha, kunne osse løses med: $i = 1; foreach ($navne as $navn) { $i++; if($i%2) echo $navn . "<br />"; else echo $navn . " - "; }
14. oktober 2003 - 16:02
#14
hvad nu hvis jeg har endnu et array med nogle maps... ehm.. hvordan kan jeg så få dem ind i denne foreach?
14. oktober 2003 - 16:08
#15
altså så den tar disse 2 navne som den gør nu ... det skal den... men den skal så også vælge et andet navn random... kun 1 ... ikke fra samme array men et andet :P
14. oktober 2003 - 16:17
#16
Jeg vil nok foreslå noget i den her stil: <?php $navne = array('Ranger','PAPANDEN','HeatoN','Coldfusion','Quwink','POLICEMASTER','Bertil BearKiller','Jappe Mother fucker','The Dims','Omglol','Jzfg','Ymer','Zeli!c','Vizion'); srand((float)microtime()*1000000); shuffle($navne); $maps = array('map1', 'map2','map3','map4','map5','map6','map7'); shuffle($maps); $i = 0; echo "<table border='1'><tr>"; foreach ($navne as $navn) { $i++; if($i%2) echo "</tr><tr><td>" . $navn . "</td>"; else echo "<td>" . $navn . "</td><td> " . $maps[$i/2-1] . "</td>"; } echo "</tr></table>"; ?>
14. oktober 2003 - 16:19
#17
Det kræver selvfølgelig at du har min. halvt så mange maps som der er navne, hvis jeg har forstået dig rigtigt.
14. oktober 2003 - 16:24
#18
En lille forenkling: <?php $navne = array('Ranger','PAPANDEN','HeatoN','Coldfusion','Quwink','POLICEMASTER','Bertil BearKiller','Jappe Mother fucker','The Dims','Omglol','Jzfg','Ymer','Zeli!c','Vizion'); srand((float)microtime()*1000000); shuffle($navne); $maps = array('map1', 'map2','map3','map4','map5','map6','map7'); shuffle($maps); $i = 0; echo "<table border='1'>"; foreach ($navne as $navn) { $i++; if($i%2) echo "<tr><td>" . $navn . "</td>"; else echo "<td>" . $navn . "</td><td> " . $maps[$i/2-1] . "</td></tr>"; } echo "</table>"; ?>
Vi tilbyder markedets bedste kurser inden for webudvikling