Gå til innhold

script som laster en tilfeldig variabel *løst*


Anbefalte innlegg

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 av Scix
Lenke til kommentar
  • 2 uker senere...
Videoannonse
Annonse
  • 1 år senere...
$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? :whistle: ) 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 av Gilbert
Lenke til kommentar

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 av kakkle
Lenke til kommentar
Gjest Slettet+6132
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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...