Scix Skrevet 22. desember 2004 Del Skrevet 22. desember 2004 (endret) hvordan lager jeg et script som laster en tilfeldig variabel? variablene ser slik ut $melding1 = "text1" $melding2 = "text2" $melding3 = "text3" osv jeg er helt ny på php, så gjør det enkelt edit: fikk det til Endret 22. desember 2004 av Scix Lenke til kommentar
Danjaco Skrevet 2. januar 2005 Del Skrevet 2. januar 2005 Kunne vært greit om du la ut svaret da, kanksje andre har det samme problemmet. Lenke til kommentar
Überadri Skrevet 1. mars 2006 Del Skrevet 1. mars 2006 Kunne vært greit om du la ut svaret da, kanksje andre har det samme problemmet. 3413523[/snapback] Veldig fint om du la ut koden ja... lurer på akkurat det samme. Lenke til kommentar
Gilbert Skrevet 1. mars 2006 Del Skrevet 1. mars 2006 (endret) $melding1 = "text1"$melding2 = "text2" $melding3 = "text3" 3350862[/snapback] Her er forslag. Det er ikke meningen at kodene skal funke, bare gi en ide om hvordan det kan gjøres (god unnskyldning for at jeg ikke er helt våken, eller hva? ) Aner ikke om den siste funker. $meldinger[] = "text1"; $meldinger[] = "text2"; $meldinger[] = "text3"; $count = count($meldinger)-1; $nummer = rand(0,$count); echo $meldinger[$nummer]; $melding1 = "text1" $melding2 = "text2" $melding3 = "text3" $null = rand(1,3); $variabel = "$melding$null"; echo $variabel; Endret 1. mars 2006 av Gilbert Lenke til kommentar
kakkle Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 (endret) Set at problemet er løst, men bare en liten kommentar; Gilbert: Den siste koden vil nok ikke fungere... Siden det ikke er en variabel som heter $melding, så vil den kun skrive ut $null. Så $variabel vil bli 1,2 eller 3. Du kan få det til å fungere vha eval: <? $melding1 = "text1"; $melding2 = "text2"; $melding3 = "text3"; $null = rand(1,3); eval("\$variabel = \$melding$null;"); echo $variabel; ?> Her settes $variabel til $melding<tilfeldigtall>. Men ville helt klart brukt den første metoden. Endret 2. mars 2006 av kakkle Lenke til kommentar
Gjest Slettet+6132 Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 Set at problemet er løst, men bare en liten kommentar; Gilbert: Den siste koden vil nok ikke fungere... Siden det ikke er en variabel som heter $melding, så vil den kun skrive ut $null. Så $variabel vil bli 1,2 eller 3. Du kan få det til å fungere vha eval: <? $melding1 = "text1"; $melding2 = "text2"; $melding3 = "text3"; $null = rand(1,3); eval("\$variabel = \$melding$null;"); echo $variabel; ?> Her settes $variabel til $melding<tilfeldigtall>. Men ville helt klart brukt den første metoden. 5686860[/snapback] Hvorfor ikke bare ta $variabel = {$melding}{$null};? Eller tenker jeg helt feil nå? Lenke til kommentar
MC2 Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 går vel med array_rand, enklere også Lenke til kommentar
NH Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 vil bare påpeke at rand() er en utgått funksjon og er der kun fo at php skal støtte eldre scripts! nå skal helst mt_rand() brukes som bruker en nyere library og er hele 4 ganger raskere. By default, PHP uses the libc random number generator with the rand() function. The mt_rand() function is a drop-in replacement for this. It uses a random number generator with known characteristics using the Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå