Avatar billede Nicklas_J Nybegynder
31. januar 2010 - 22:51 Der er 9 kommentarer

Random text..

Hej eksperter!
Ønsker at lave et slags script som randomizer mellem 3-4 tekster.

"Dette er tekst 1"
"Dette er tekst 2"
"Dette er tekst 3"
"Dette er tekst 4"

Med "randomizer" mener jeg altså at hver gang man opdatere siden, så kommer en af de linjer op.. Men ikke i rækkefølge, og ikke alt på samme side men kun 1 af de linjer.

Håber i forstår, tak!
Avatar billede repox Seniormester
31. januar 2010 - 22:55 #1


<?php

  $strings[] = "Dette er tekst 1";
  $strings[] = "Dette er tekst 2";
  $strings[] = "Dette er tekst 3";
  $strings[] = "Dette er tekst 4";
 
  $random = array_rand($strings);
  echo $strings[$random[0]];

?>

Avatar billede corkyb Nybegynder
31. januar 2010 - 23:02 #2
Hej

Måske vil nedenstående kunne gøre det - hvor du smider dine tekststrenge ind i et array og kalder array_rand som returnere et tilfældigt element i arrayet fx:

<?php
$a=array(""Dette er tekst 1",""Dette er tekst 2",""Dette er tekst 3");

$rand_keys = array_rand($a, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

- corkyB
Avatar billede Nicklas_J Nybegynder
31. januar 2010 - 23:15 #3
Får ingen fejlmeddelse, eller noget output i det script du kom med repox.,

corkyb fik jeg t_string unexpected )
Avatar billede Slettet bruger
31. januar 2010 - 23:33 #4
Modificeret fra repox' løsning:


<?php

  $strings[] = "Dette er tekst 1";
  $strings[] = "Dette er tekst 2";
  $strings[] = "Dette er tekst 3";
  $strings[] = "Dette er tekst 4";
 
  $random = array_rand($strings);
  echo $strings[$random];

?>
Avatar billede Nicklas_J Nybegynder
31. januar 2010 - 23:34 #5
Tusinde tak. Hvad var fejlen?
Skriv svar :-)
Avatar billede Slettet bruger
01. februar 2010 - 00:13 #6
array_rand returnerer ikke et array, men en streng. (Med mindre man inkluderer et andet parameter.)
Syntes dog hellere du skal give pointene til repox. Det var jo ham(/hende) der fandt på det.
Avatar billede coderdk Praktikant
01. februar 2010 - 01:34 #7
Alternativt:

<?php

  $strings[] = "Dette er tekst 1";
  $strings[] = "Dette er tekst 2";
  $strings[] = "Dette er tekst 3";
  $strings[] = "Dette er tekst 4";

  shuffle($strings);
  echo $strings[0];

?>
Avatar billede repox Seniormester
01. februar 2010 - 09:18 #8
#6
Nåeh, ja - lige en tankefejl...
Men godt fanget i øvrigt ;)
Men tag du blot pointene - nu lavede jeg jo selv en fejl :)
Avatar billede Slettet bruger
01. februar 2010 - 16:52 #9
Okay, hvis du insisterer :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester