PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : for($a=0;$a<$laenge;$a++)...wie das funktioniert weiß ich ja, nur nicht warum....



Gutschy
19-03-2004, 01:04
Ich wollte einfach mal einen kleinen Plausch über diesen Codeschnipsel führen

for($a=0;$a<$laenge;$a++)

das ganze ist ja ein Vergleich von zwei Arrays, ok. Also $laenge ist ein Zahl z.B. 6 und $a++ zählt bei jedem durchlauf eins hoch. Ich kann jetzt nur nicht nachvollziehen welche Werte in den Arrays stehen sollen bis die Bedingung für das break zutrifft.




if($nachname==""){
________print("<b>Bitte Nachname eingeben</b><br>");
____}
____else_{
________$laenge=strlen($nachname);
________for($a=0;$a<$laenge;$a++)_{
____________$b=substr($nachname,$a,1);
________________if(strstr($zeichen_name,$b)==false )_{
____________________print("<b>Nachname: Uug&uuml;ltige Zeichen, bitte &uuml;berpr&uuml;fen</b><br>");
________________break;
____________}
________}
____}


Vielleicht könnt ihr ja meinen Horizont mal erhellen.:confused:

sixfriends
19-03-2004, 01:33
Häh? Du redest viel aber sagst nichts. Kannst du die Frage noch mal neu formulieren?

...und konzentrier dich diesmal auf den Inhalt, nicht die Formulierung :p

undefined
19-03-2004, 08:03
Original geschrieben von Gutschy
Ich kann jetzt nur nicht nachvollziehen welche Werte in den Arrays stehen sollen bis die Bedingung für das break zutrifft.




if($nachname==""){
________print("<b>Bitte Nachname eingeben</b><br>");
____}
____else_{
________$laenge=strlen($nachname);
________for($a=0;$a<$laenge;$a++)_{
____________$b=substr($nachname,$a,1);
________________if(strstr($zeichen_name,$b)==false )_{
____________________print("<b>Nachname: Uug&uuml;ltige Zeichen, bitte &uuml;berpr&uuml;fen</b><br>");
________________break;
____________}
________}
____}

Wenn der Wert von $zeichen_name nicht im Array Element vorhanden ist dann break.
Jedoch frage ich mich wozu der Code gut sein soll, das da ist php3 mit php4 Aufwärts würde ich mal einen Blick in die Manual werfen und die String und Array Suchfunktionen nutzen. bzw. preg_match() ;)

Gutschy
20-03-2004, 14:29
@sixfriends, ich wollte nur Fragen wie das laufen soll, ich vermute erstmal zwei Arrays die halt irgendwann eine Bedingung erfüllen,

for($a=0;$a<$laenge;$a++)

vielleicht kannst du mir ja mal einfach die Zahlenwerte reinschreiben solange die -for Bedingung zutrifft und wann sie abbricht. Ich denke dann schnall ich das schon.

@undefined, als bis ich die Unterschiede zwischne PHP3 und PHP4 Entdecke wird wohl noch einige Zeit vergehen, hoffentlich nicht zuviel.:p

sixfriends
21-03-2004, 01:57
Du weisst also nicht, wie eine for Schleife funktioniert, hab ich das richtig verstanden??

for (Initialisierung einer Variablen;Abbruchbedingung;Schritt)

Initialisierung einer Variablen: Da kannst du einer Variablen (z.B. $a) einen Startwert zuweisen
Abbruchbedingung: Sobald diese Bedingung (z.B. $a<$laenge) nicht mehr erfüllt ist, wird der Inhalt der Schleife nicht mehr aufgerufen.
Schritt: Hier wird üblicherweise eine Variable der Abbruchbedingung verändert, damit die Schleife jemals abbricht.

In diesem Fall wird $a pro Schleifendurchlauf um 1 erhöht ($a++ ist das selbe wie $a = $a + 1)

Das break wird übrigens dann aufgerufen, wenn das Zeichen im Nachnamen an Stelle $a (Nummerierung eines arrays beginnt bei 0!) nicht in dieser misteriösen Variablen $zeichen_name enthalten ist.

Vielleicht wär das hier als Einstiegslektüre nicht schlecht:
http://www.php.net/manual/de/

Gutschy
22-03-2004, 16:07
So habs dann auch geschnallt, die Lösung ist mir Nachts in einem Traum erschienen:rolleyes:. Ok ich konnte vor lauter Bäumen den Wald nicht sehen. Es wird einfach solange hochgezählt wie $a noch kleiner als $laenge ist, das wusst ich zwar vorher auch schon aber aus irgendwelchen Gründen ,vielleicht BSE, wollte ich das aus der Formel nicht ablesen.