30. november 2005 - 22:14
Der er
14 kommentarer
randomize med array
Hej Jeg har tre arrays (der skal dog være mulighed for at tilføje flere arrays). Jeg vil gerne have min index.php til at vælge en tilfældig af disse arrays og så kalde den array $skema. Forklaring og script kommer her: <?php $foerste = array(1 => "groen2", "groen", "blaa", "blaa2", "blaa3", "lyseroed"); $andet = array(1 => "lyseroed", "blaa3", "blaa2", "blaa", "groen", "groen2"); $tredje = array(1 => "lyseroed", "blaa3", "blaa2", "blaa", "lys", "lys2"); ?> Senere bruges det så på denne måde: <td background="pic/tdbg/<?php skema[1] ?>.gif"> Så altså når den har valgt en array skal den kalde den array for $skema så TD'erne på sitet kan bruge indholdet fra samma tilfældige array. Giver det mening? På forhånd tak.
Annonceindlæg fra Infor
Slettet bruger
30. november 2005 - 22:18
#1
Givet jeg har forstået dit spørgsmål, kan du så ikke putte dine tre arrays ind i et array, og vælge et af disse elementer med array_rand()? -- pacroon
30. november 2005 - 22:24
#2
?php srand((float) microtime() * 10000000); $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); $rand_keys = array_rand($input, 2); echo $input[$rand_keys[0]] . "\n"; echo $input[$rand_keys[1]] . "\n"; ?> Sådan? Hvor smider jeg de tre, eller flere, arrays ind?
Slettet bruger
01. december 2005 - 00:02
#3
Jeg gætter på noget á la: $nyt_array = array($forste, $anden, $tredje); $rand_keys = array_rand($nyt_array); $randomarray = $rand_keys[0]; Virker det?
01. december 2005 - 00:07
#4
prøver det lige - øjeblik
01. december 2005 - 00:10
#5
nej desværre - siden er bare blank. her er mit test script: <?php $foerste = array("groen2", "groen", "blaa", "blaa2", "blaa3", "lyseroed"); $andet = array("lyseroed", "blaa3", "blaa2", "blaa", "groen", "groen2"); $skema = array($forste, $anden); $rand_keys = array_rand($skema); $randomarray = $rand_keys[0]; echo $skema[1] ?>
Slettet bruger
01. december 2005 - 00:14
#6
Du skal jo også echo'e $randomarray[1] ;)
01. december 2005 - 00:16
#7
dit skema array, tjek lige navnene på de arrays du angiver, og så dem du rent faktisk har oprettet :o
01. december 2005 - 00:19
#8
Du kan <?php $farver = array("et" => array("blaa", "gul", "sort"), "to" => array("hvid", "brun", "graa"), "tre" => array("sort", "groen", "hvid")); echo"Hele array'et:"; print_r($farver); $mulige = array_keys($farver); echo "<p>Array'et \$mulige == "; print_r($mulige); $udvaelg = array_rand($mulige); echo "<p>\$udvaelg == ". $udvaelg; echo "<p>Hvilket array i \$farver har vi fat i? ( \$mulige[\$udvaelg] ) == ". $mulige[$udvaelg]; echo "<p> \$farver[\$mulige[\$udvaelg]] er så: </p>"; print_r($farver[$mulige[$udvaelg]]); ?>
01. december 2005 - 00:19
#9
doh - det er ved at være sent :) nu ser den sådan her ud: <?php $foerste = array("groen2", "groen", "blaa", "blaa2", "blaa3", "lyseroed"); $andet = array("lyseroed", "blaa3", "blaa2", "blaa", "groen", "groen2"); $skema = array($foerste, $andet); $rand_keys = array_rand($skema); echo $randomarray = $rand_keys[1]; echo $skema[0]; ?> output = "Array"
01. december 2005 - 00:23
#10
echo $skema[$rand_keys][0]; printer "groen2" eller "lyseroed"
01. december 2005 - 00:27
#11
showsource, tak for din kommentar. men jeg har brug for at kunne indtaste "echo $skema[1]" og "echo $skema[2]" osv.. i min php fil.
01. december 2005 - 00:28
#12
? echo "<p>". $farver[$mulige[$udvaelg]][0] ." - ". $farver[$mulige[$udvaelg]][1] ." - ". $farver[$mulige[$udvaelg]][2];
01. december 2005 - 00:29
#13
langlen, det er perfekt! tak :) så bruger jeg bare "echo $skema[$rand_keys][0];", "$skema[$rand_keys][1];" osv.. smid et svar :D
01. december 2005 - 19:37
#14
Vi tilbyder markedets bedste kurser inden for webudvikling