PHP - Anfängerfrage

F

flugopa

Hallo,

bin gerade dabei PHP zu lernen.
Im nachfolgenden lotto.php-skript, habe ich ein Problem.
Die for- bzw. die while- Schleife sollte sich beenden, sobald der Wert zufall_2 größer als zufall_1 ist.
Google konnte mir bisher nicht helfen, weshalb ich mich an euch wende.

PHP Version 5.2.6
2.6.27.21-170.2.56.fc10.x86_64
Apache Version Apache/2.2.10 (Fedora)

Code:
<?php
echo "<b>Lotto Übung</b><br>";
$zufall_1=0;
$zufall_2=0;
$zufall_3=0;
$zufall_4=0;
$zufall_5=0;
$zufall_6=0;
for(; $zufall_1 < $zufall_2 ;)
{
        $zufall_1 = rand(1,44);
        $zufall_2 = rand(2,45);
        $zufall_3 = rand(3,46);
        $zufall_4 = rand(4,47);
        $zufall_5 = rand(5,48);
        $zufall_6 = rand(6,49);
}
echo "<br>$zufall_1 - $zufall_2 - $zufall_3 - $zufall_4 - $zufall_5 - $zufall_6";

echo "<p></p>";

$zufall_1=0;
$zufall_2=0;
$zufall_3=0;
$zufall_4=0;
$zufall_5=0;
$zufall_6=0;
while($zufall_1 < $zufall_2)
{
        $zufall_1 = rand(1,44);
        $zufall_2 = rand(2,45);
        $zufall_3 = rand(3,46);
        $zufall_4 = rand(4,47);
        $zufall_5 = rand(5,48);
        $zufall_6 = rand(6,49);
}
echo "<br>$zufall_1 - $zufall_2 - $zufall_3 - $zufall_4 - $zufall_5 - $zufall_6";
?>

Ausgabe:
Code:
Lotto Übung

0 - 0 - 0 - 0 - 0 - 0

0 - 0 - 0 - 0 - 0 - 0
 
Deine Befehle innerhalb der Kontrollstrukturen werden nicht ausgeführt, weil bereits zum Start zufall_1 nicht kleiner als zufall_2 ist.
Du solltest auch an deinem Html feilen ;)

cu
 
Hallo slackfan,

vielen Dank für Deine schnelle Hilfe.

Code:
Du solltest auch an deinem Html feilen.
Hast ja Recht, aber mir geht es erstmal um das lernen von PHP-Grundlagen.

Ausgabe nach der Änderung:
Eigentlich sollte die erste Zahl kleiner als die zweite Zahl sein...?
Wer hat eine Tip für mich?
Code:
Lotto Übung

30 - 7 - 33 - 25 - 7 - 15

28 - 13 - 17 - 31 - 30 - 26



lotto.php
Code:
<?php
echo "<b>Lotto Übung</b><br>";

$zufall_1=1;
$zufall_2=2;
$zufall_3=3;
$zufall_4=4;
$zufall_5=5;
$zufall_6=6;

for(; $zufall_1 < $zufall_2 ;)
{
        $zufall_1 = rand(1,44);
        $zufall_2 = rand(2,45);
        $zufall_3 = rand(3,46);
        $zufall_4 = rand(4,47);
        $zufall_5 = rand(5,48);
        $zufall_6 = rand(6,49);
}
echo "<br>$zufall_1 - $zufall_2 - $zufall_3 - $zufall_4 - $zufall_5 - $zufall_6<br>";

$zufall_1=1;
$zufall_2=2;
$zufall_3=3;
$zufall_4=4;
$zufall_5=5;
$zufall_6=6;
while($zufall_1 < $zufall_2)
{
        $zufall_1 = rand(1,44);
        $zufall_2 = rand(2,45);
        $zufall_3 = rand(3,46);
        $zufall_4 = rand(4,47);
        $zufall_5 = rand(5,48);
        $zufall_6 = rand(6,49);
}
echo "<br>$zufall_1 - $zufall_2 - $zufall_3 - $zufall_4 - $zufall_5 - $zufall_6";
?>
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Eine mögliche Lösung:

Code:
<?php
$zahlen = array();
for($i=0; $i<7; $i++)
{
        $temp = mt_rand(1,49);
   if(in_array($temp, $zahlen))
        {
       $i--;  continue;
   }
   $zahlen[] = $temp;
        sort($zahlen);
}
echo "<br>$zahlen[1] - $zahlen[2] - $zahlen[3] - $zahlen[4] - $zahlen[5] - $zahlen[6]<br>";
?>
Evtl. kennt ihr noch andere Lösungen, die besser sind?
 
Zuletzt bearbeitet von einem Moderator:
Wieso sollte zufall_1 kleiner sein? Wenn du deine Zufallszahlen sortieren willst, und diese nur einmalig vorhanden sein sollen, speichere diese in einen Array und schau dir die Funktionen array_unique() und array_sort() an. Dann musst du auch nicht mit diesen hässlichen 6 Variablen arbeiten und das ganze ist etwas flexibler.

cu
 
Zuletzt bearbeitet:

Ähnliche Themen

NagiosGrapher 1.7.1 funktioniert nicht

Jaunty + Zend + Gdata + xampp

Variable in Subshell global deklarieren

VHOST Problem, Debian Lenny

Onlineumfrage programmieren (mehrseitige HTML Formular an PHP übergeben)

Zurück
Oben