php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.09.2004, 05:27  
Gast
 
Beiträge: n/a
Standard versteh diese do-while schleife nicht

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.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.09.2004, 07:35  
Gast
 
Beiträge: n/a
Standard

dann erfüll mal die bedingung, damit das "test" auch ausgegeben wird. solange die nicht erfüllt wird ist die schleife endlos, wird sie allerdings erfüllt ird vorhanden auf 1 gesetzt und die schleife endet. mit break springt man dann aus der schleife hinaus, ansonsten würde es immer noch weiter gehen weil die bedingung erst am ende überprüft wird.
 
Alt 08.09.2004, 09:48  
Gast
 
Beiträge: n/a
Standard

Zuerst mal muss man sich klar machen, was die Variable $vorhanden bedeutet. $vorhanden wird in der for-Schleife gesetzt, wenn das zufällig erzeugte Passwort mit einem der zuletzt erzeugten Passwörter genau übereinstimmt. Das kann natürlich nicht Sinn und Zweck des neuen Passworts sein. Darum wird $vorhanden auf 1 gesetzt und die die do-while Schleife nochmal durchlaufen, um auf derselben Stelle ($i) des $pw Arrays ein neues Passwort zu erzeugen. Das passiert in der do-while Schleife solange, bis ein Passwort erzeugt wurde, das mit keinem bisher erzeugten übereinstimmt.
 
Alt 08.09.2004, 16:49  
Gast
 
Beiträge: n/a
Standard

danke AndiS, habs jetzt auch begiffen.

@Michigras: naja, ich glaub du musst noch en bisle programmieren lernen....
 
Alt 08.09.2004, 16:51  
Gast
 
Beiträge: n/a
Standard

naja ich hab da nicht wirklich durchgeblickt, es aber trotzdem mal versucht...
 
Alt 08.09.2004, 16:54  
Gast
 
Beiträge: n/a
Standard

nicht richtig durchblicken aber dennoch posten, dass sin mir die liebsten. für jemanden der absolut keine ahnung hat, glaub den scheiss dann auch noch was du da schreibst. is nich bös gemeint, will auch kein krieg jetzt anfangen. nur ich finde man sollte posten wenn man weiß was man da schreibt!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
While schleife -> letzter durchgang Skazi PHP Tipps 2006 7 16.09.2006 00:11
Problem mit while schleife obi PHP Tipps 2006 6 31.08.2006 13:40
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while schleife - spezial datensatz einblenden Buschdieb PHP Tipps 2006 2 09.04.2006 13:05
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
While Schleife Beatbox Off-Topic Diskussionen 8 19.05.2005 21:55
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
Variabel aus while schleife ausserhalb der schleife nutzen PHP Tipps 2005 8 12.02.2005 18:04
resultausgabe mit while schleife in pdf dokument PHP Tipps 2004 2 23.09.2004 14:56
Nach while Schleife funzt nix mehr?! PHP Tipps 2004 15 25.08.2004 00:25
[Erledigt] probleme mit ner while schleife PHP Tipps 2004 5 23.07.2004 17:28
Prob mit While schleife JEGO PHP Tipps 2004 2 04.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
do while schleife mit if kombinieren, password do while, while anweisung mit break php, doppelte do while, php zufall do while, doppelte do while schleife

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.