Avatar billede tobrukDk Novice
02. februar 2012 - 15:52 Der er 15 kommentarer og
1 løsning

random tekst udeskriver .


<?php
If(rand())[
    Echo rand() . "Hej";
]


Så kommer den frem med noget mærkelig sådan som tale som jeg ikke skal bruge til noget .. det skal være sådan at den har 2 tekst den ude skriver den må.ikke gøre det var database.

Håber du kan hjælp.mig ;)

Spørger hvis der er mere du ville vide ;)
Avatar billede olebole Juniormester
02. februar 2012 - 15:59 #1
<ole>

Brug de rigtige tegn - og så er store bogstaver noget, der hører hjemme i Microsoft snask (ASP)  *o)

<?php
if(rand()) {
    echo rand() . "Hej";
}
?>

- og så er mt_rand faktisk bedre:

<?php
if(mt_rand()) {
    echo rand() . "Hej";
}
?>

/mvh
</bole>
Avatar billede olebole Juniormester
02. februar 2012 - 16:00 #2
Vrøvl!

<?php
if(mt_rand()) {
    echo mt_rand() . "Hej";
}
?>

- men i øvrigt jeg forstår ikke, hvorfor du overhovedet bruger en if her:

if(mt_rand()) {
Avatar billede tobrukDk Novice
02. februar 2012 - 16:06 #3
Det som jeg mener helt med det er at den skal.ud skrive 1 af de 2 random tekster hvis det er det er sådan
Avatar billede tobrukDk Novice
02. februar 2012 - 16:07 #4
Fordi jeg skal have ude skrive hej og en anden tekst ;)
Avatar billede tobrukDk Novice
02. februar 2012 - 16:09 #5
Omkring tegn det er pga at jeg sidder på mobil ;)
Avatar billede inteeeL Nybegynder
02. februar 2012 - 16:27 #6
Nu ved jeg ikke helt, om jeg forstår, hvad du mener. Men du siger noget med at du får nogle tal, som du ikke skal bruge, men at du i stedet skal udskrive to tekster.

rand() og mt_rand() udskriver tilfældige tal. I stedet bør du opsætte to variabler, som udskriver dine to tekster.

<?php

5tekst1 = 'Tekst 1';
$tekst2 = 'Tekst 2';

echo $tekst1.'<br>';
echo $tekst2;

?>


Ovenstående er noget af det mest basale PHP, der findes - og det er jeg sikker på, at du kender til. Så hvis jeg har misforstået det, må du sige til.
Avatar billede kjeldsted Novice
02. februar 2012 - 16:43 #7
<?

$randNum = rand(0,1);

if($randNum) {
  echo "Foo";
}
elseif(!$randNum) {
  echo "Bar";
}

?>


Skulle vist kunne gøre det.
Eller også
<?

$randNum = rand(0,1);
$text1 = "Foo";
$text2 = "Bar";

if($randNum) {
  echo $text1;
}
elseif(!$randNum) {
  echo $text2;
}

?>


Eller hvis der er brug for mange variabler
<?

$randNum = rand(1,6);
$text1 = "Foo";
$text2 = "Bar";
$text3 = "Foobar";
$text4 = "Baz";
$text5 = "Qux";
$text6 = "Hello World";


switch($randNum) {
  case 1:
    echo $text1;
    break;
  case 2:
    echo $text1;
    break;
  case 3:
    echo $text1;
    break;
  case 4:
    echo $text1;
    break;
  case 5:
    echo $text1;
    break;
  case 6:
    echo $text1;
    break;
  default:
    break;
}

?>


Mange muligheder.
Avatar billede kjeldsted Novice
02. februar 2012 - 16:48 #8
Og pas lige på med at copy-paste sidste eksempel. Har vist fået copy-pastet echo $text1 og glemt at ændre cifrene. Skal naturligvis være $text1, $text2, $text3 osv.
Avatar billede olsensweb.dk Ekspert
02. februar 2012 - 16:54 #9
hvis der kun er 2 tekster kunne du jo lege lidt med modulus

<?php
// lang udgave
if(mt_rand() %2==0){
    $txt = "her er tekst 1";
}
else{
    $txt = "her er tekst 2";
}
echo $txt;


// kort udgave
$txt1 = (mt_rand() %2==0)? "her er tekst 1" : "her er tekst 2";
echo $txt1;
?>
Avatar billede olebole Juniormester
02. februar 2012 - 17:03 #10
- og hvis der er mange variabler, vil jeg nok bruge dette - fremfor koden i #7:

<?php
$tekster = array("Foo", "Bar", "Foobar", "Baz", "Qux", "Hello World");

$valgt_tekst = $tekster[ mt_rand(0, count($tekster)-1) ];
echo $valgt_tekst;
?>
Avatar billede kjeldsted Novice
02. februar 2012 - 17:06 #11
#10: You got a point, there....
Avatar billede tobrukDk Novice
02. februar 2012 - 20:19 #12
#7 den første du skrive vise ingen ting men jeg tog også ! væk. men jeg er har valgt at tag ;


<?

$randNum = rand(0,1);
$text1 = "Foo";
$text2 = "Bar";

if($randNum) {
  echo $text1;
}
elseif(!$randNum) {
  echo $text2;
}

?>


vil du have noget for det? altså hjælpen

ronols & Olebole tak for i også del men kjeldsted var ham som komme med et godt svar da jeg ved at olebole ikke gider have point, men ronols hvis du også gerne vil noget for det så komme med et svar?.. :)


Håber i får en god aften ! :D
Avatar billede kjeldsted Novice
02. februar 2012 - 20:24 #13
Øh. Hvis du fjerner udråbstegnet vil den kun kunne udskrive "Bar" hvilket sker gennemsnitligt hver anden gang. Ellers burde den da virke fint. Gør den i hvert fald for mig selv.
Og som en eller anden var inde på tidligere bør du faktisk benytte mt_rand() og ikke rand() som jeg gjorde i mine eksempler.
Avatar billede tobrukDk Novice
02. februar 2012 - 20:35 #14
tror det var olebole. :) men jo jeg kan lige prøve mig frem så kan jeg give dig et svar til det :)

men takker utrolig mange gerne for hjælpen ! :D
Avatar billede olsensweb.dk Ekspert
02. februar 2012 - 22:47 #15
>ronols hvis du også gerne vil noget for det så komme med et svar?.. :)
jeg springer over, har ikke noget at bruge point til
Avatar billede tobrukDk Novice
02. februar 2012 - 23:13 #16
Det er helt iorden. men takker igen for hjælpen.. :)
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