hallo,
hier ein programm das zufällig 10 passwörter erzeugen soll:
PHP-Code:
<?php
/* Zufallsgenerator initialisieren */
mt_srand((double)microtime()*1000000);
/* 10 zufällige Kombinationen erzeugen */
for($i=1; $i<=10; $i++)
{
/* Keine Kombination doppelt erzeugen */
do
{
$vorhanden = 0;
$pw[$i] = "";
/* Kombination besteht aus drei kleinen Buchstaben ... */
for ($k=1; $k<=3; $k++)
$pw[$i] .= chr(mt_rand()%26+97);
/* ... und drei Ziffern */
for ($k=1; $k<=3; $k++)
$pw[$i] .= chr(mt_rand()%10+48);
/* Mit allen bisherigen Kombinationen vergleichen */
for($m=1; $m<$i; $m++)
{
if($pw[$m] == $pw[$i])
{
$vorhanden=1;
break;
echo "test";
}
}
}
while($vorhanden==1);
echo $pw[$i] . "
";
}
?>
eigentlich ist doch die do-while schleife voll fürn arsch, oder?
sollte vorhanden==1 sein wird doch beim nächsten durchlauf der ersten for-schleife, vorhanden wieder auf 0 gesetzt, also hat die do-while schleife doch nie einen abbruch oder? in der if-anweisung wo echo "test"; steht, wird nie ausgeführt. versteh den sinn der do-while schleife einfach nicht.