Luky.cc NetworkLuky.cc NetworkLuky.cc Network - AutoDetectLuky.cc Network - AutoDetectEinloggenLuky.cc Network - AutoDetect

LukyDeluxe8 1.0 
dAxEngine 1.0 powered 

LukyDeluxe8

LukyChat

LukyThoughts

PHP

MySQL

CS: S

Service

 

T
u
t
o
r
i
a
l
 

 


PHP Tutorial > Kapitel 4: Schleifen


Antworten zu Fragen aus Kapitel 3:
1. Wie kann man Funktionen aufrufen?
Indem man den Funktionsnamen schreibt, eine Klammer aufmacht, die nötigen Parameter angibt und die Klammer wieder schließt.
funktion($parameter1, $parameter2,...);
2. Wo kann man die Funktionsreferenz finden?
Zum Beispiel unter http://at.php.net/manual/en/index.php
3. In welche Reihenfolgen kann man Arrays sortieren?
Absteigend, aufsteigend, nach Alphabet / Nummern geordnet.

Vorgänge mehrmals wiederholen: Schleifen
S
chleifen (engl. loop) sind Abläufe, die sich wiederholen und bestimmten Code ausführen. Sie sind ein wichtiger Teil jeder Programmiersprache. Es gibt verschiedene Schleifentypen.

Die While-Schleife

Tutorial_Kapitel4_Beispiel_1.php:
<?php

$zahl
= 0;

while(
$zahl < 10) // Solang Zahl kleiner als 10, ausführen
{
 
$zahl = $zahl +1;
 echo
"Die Zahl ist jetzt: ".$zahl."";
}

?>


Aufbau:
 while(bedingung) { ... }
In die Bedingung kommt das, was die Schleife am Leben erhält. Ergibt die Bedingung ein falsches Ergebnis, also wäre $zahl schon von Anfang an größer als 10, dann wäre die Schleife nicht ausgeführt worden.
Da wir in der Schleife jedes mal $zahl um eins erhöhen, wird die Schleife nach dem zehnten Mal unterbrochen. Soweit hat PHP dann schon den echo Befehl zehn mal ausgeführt.

Eine Bedingung?
Die IF-Schleife reagiert ähnlich wie die While-Schleife. Sie schaut nach ob die Bedingung Wahr ist und führt den Code darunter aus.
Falls ein Else-Block an die IF-Schleife angehängt ist wird dieser bei einer Unwahren Bedingung ausgeführt.
Eine Bedingung ergibt also für PHP Wahr oder Falsch.
Du kannst sogar eine Variablendeklaration als Bedingung einsetzen:

Tutorial_Kapitel4_Beispiel_2.php:
<?php

$zahl
= 0;

if(
$zahl = 5)
{
 echo
"Die Zahl wurde erfolgreich auf 5 gesetzt: ".$zahl;
}
else
{
 echo
"Die Zahl konnte nicht auf 5 gesetzt werden: ".$zahl;
}

?>


Da das Einsetzen von 5 in $zahl gelingen sollte, wird "Die Zahl wurde erfolgreich auf 5 gesetzt: 5" herauskommen.
Ein ist gleich Zeichen bedeutet immer, dass ein Wert zugewiesen wird.
Wenn man hier 2 ist gleich Zeichen benutzen würde, hätte diese Schleife einen ganz anderen Sinn.
Deshalb ist auf korrekte Zeichensetzung zu achten um Fehler zu vermeiden.

While-Schleife in Aktion

Tutorial_Kapitel4_Beispiel_3.php:
<?php

// mt_rand($zahl1, $zahl2) = Funktion, die eine Zufallszahl zwischen $zahl1 und $zahl2 zurückgibt.
// array("schlüssel" => "wert") = Funktion, die ein Array erstellt


$einarray = array(); // Ein Array ohne Werte
$einezahl = 0;
$bis = mt_rand(10, 20);

while(
$einezahl < $bis)
{
 
$einarray[$einezahl] = mt_rand(100, 1000);
 
$einezahl++;
}

$einezahl = 0;
$eintraegeimarray = sizeof($einarray);

while(
$einezahl < $eintraegeimarray)
{
 echo
$einarray[$einezahl];
 
$einezahl++;
}

?>


2 Funktionen treten hier auf die noch nicht besprochen wurden: array() und mt_rand().
Mit array() kann man eine Variable als Array einstellen und mit Schlüsseln und Werten bestücken. (Eine Andere Methode Werte in ein Array einzufügen.)
mt_rand() gibt eine Zufallszahl zwischen dem ersten und dem zweiten Parameter.

Man kann das lästige "$variable = $variable + 1;" umgehen indem man "$variable++;" schreibt.
Dies gilt auch für "$variable = $variable - 1;", "$variable--;";

Die Do-While-Schleife

Tutorial_Kapitel4_Beispiel_4.php:
<?php
 
$einschoenertag = false;
$i = 0;
 
do
{
 echo
"Diese Nachricht erscheint nur einmal, wenn der Tag nicht schön
ist. "
;
 
$i++;
 if(
$i > 10)
 {
  break;
 }
}
while(
$einschoenertag == true)
 
?>


Diese Schleife sieht etwas anders aus: zuerst kommt der Code, dann die Bedingung.
Deswegen wird der Code innerhalb der "do" schleife auch mindestens einmal ausgeführt bevor die Bedingung überprüft wird.
Wenn die Bedingung dann Wahr ist, wird der Code wiederholt, Andernfalls nicht.
Diese Schleifenart ist nicht äußerst wichtig und nur selten im Gebrauch.

Wichtige Elemente: Break, Continue

break;
Unterbricht den Schleifenablauf vollständig. Damit kannst Du unter anderem Endlosschleifen aufhalten.

continue;
Bricht den aktuellen Durchlauf ab und fängt einen neuen an.

Die For-Schleife
D
ie For-Schleife ist die umfangreichste und zugleich komplizierteste Schleife.

 for(angabe1;angabe2;angabe3) { ... }

Die For-Schleife besteht aus 3 Elementen; man muss 3 Angaben machen.
Die erste Angabe wird ganz am Anfang ausgeführt.
Bei jedem Durchlauf wird die zweite Angabe auf Wahr oder Falsch geprüft. Also muss die zweite Angabe eine Bedingung sein. Wenn sie wahr ergibt, wird der Code in der Schleife ausgeführt und die dritte Angabe am Schluss ausgeführt.
In der ersten Angabe erstellt man meistens eine Variable vom Typ Zahl.
In der dritten Angabe erhöht man diese Zahl meistens um eins. (Mittels $variable++;)

Im folgenden Beispiel wird ein Array mit 3 Werten erstellt. Die For-Schleife schaut, wie viel Werte das Array hat und erhöht eine Zahlvariable bei jedem durchlauf um eins.

Tutorial_Kapitel4_Beispiel_5.php:
<?php

$array
[0] = "wert1";
$array[1] = "wert2";
$array[2] = "wert3";

for(
$i=0;$i<sizeof($array);$i++)
{
 echo
$array[$i]."";
}

?>


Nochmal zur Erläuterung:
For-Schleifen besitzen 3 Teile die mit Semikolon getrennt werden.
$i=0 - Wird beim "Start" der For-Schleife einmalig ausgeführt.
$i<sizeof($array) - Ist eine Bedingung die Wahr sein muss wenn die For-Schleife weiterlaufen soll.
$i++ - Wenn das Ausführen des Codes innerhalb der For-Schleife abgeschlossen ist, wird dieser Befehl ausgeführt.

Der Vorgang im Beispiel kann genauso mit der While-Schleife vollbracht werden.

Die Foreach-Schleife
Die Foreach-Schleife haben wir schon im vorherigen Kapitel gesehen, als wir ein Array komplett auslesen wollten. Sie ist speziell für Arrays gemacht.

Tutorial_Kapitel4_Beispiel_6.php:
<?php

$array
[] = "eins";
$array[] = "zwei";
$array[] = "drei";

foreach(
$array as $key => $value)
{
 echo
"Schlüssel: ".$key." | Wert: ".$value."";
}

?>


 foreach($array as $value)
oder
 foreach($array as $key => $value)

Fragen zu diesen Kapitel:
1. Was passiert wenn ich "while(true)" ausführe? Wie kann man Endlosschleifen aufhalten?
2. Zähle die vier Schleifenarten auf.
3. Welche Schleife ist auf Arrays spezialisiert?

Antworten in Kapitel 5

Alle Beispiele von Kapitel 4





 

Navigation «
 

Einführung
Basiswissen / HTML
Tutorial
Codeschnipsel
Links

Sitemap

LD unterstützen «
 

 

Developed by dAxpHpNIzER™
Copyright © Lukas Wojcik 2002 - 2024. Alle Rechte vorbehalten. AGB

 

Extesizer.at