PHP Einsteigerkurs - Grundlagen der PHP/MySQL Programmierung in 5 Tagen verstehen
}
?>
Schleifen für wiederkehrende Aufgaben
(While/For/Foreach)
While() Schleife
Oft gibt es Aufgaben für unser Script, die viele male wiederholt werden
sollen. Das könnte zum Beispiel eine Durchnummerierung in einer bestimmten
Reihenfolge sein:
$number = 1;
while ($number < 100) {
echo
$number . "
";
$number++;
}
?>
Dieses kurze Script gibt untereinander die Zahlen 1 bis 99 aus. Es wird eine
so genannte while() Schleife verwendet. Im Kopf der while() Schleife ist wie
bei einer if Funktion eine Bedingung anzugeben. Die Schleife wird so oft
wiederholt, bis die Bedingung nicht mehr zutrifft oder ein break; Befehl
innerhalb der Schleife aufgerufen wird.
Im Script ist auch noch ein kleiner Kniff, den PHP von C++ übernommen hat,
eingebaut: ++ erhöht den Wert einer Variable um +1, -- würde ihn um -1
verringern.
Hier ein weiteres Beispiel für dieselbe Ausgabe, nur dieses Mal wird eine
quasi unendliche Schleife geschrieben, da die Bedingung true ist. Die Schleife
läuft so lange, bis sie von einem break; Befehl abgebrochen wird:
$number = 1;
while (true) {
echo
$number . "
";
$number++;
if
($number > 99) {
break;
}
}
?>
Bisher haben wir unsere while() Schleife noch
für die Ausgabe von festen Zahlenfolgen verwendet, sinnvoller eingesetzt könnte
sie werden, wenn man zum Beispiel Informationen aus einer Datei oder einer
anderen Datenquelle zeilenweise einliest, bis keine weiteren Daten mehr
geliefert werden.
For() Schleife
Für feste Zahlenfolgen gibt es nämlich noch eine viele schönere Schleife:
Die for() Schleife.
Der Funktionskopf der for() Schleife ist wie folgt aufgebaut:
for (startwert; bedingung; zu wiederholender Befehl bei jeder Durchführung)
{
}
Hier ein kurzes Beispiel:
for ($x = 1; $x < 100; $x++) {
echo
$x . "
";
}
?>
Das hätte dieselbe Ausgabe zur Folge, wie wir
sie bei unserer while() Schleife hatten. Der dritte Parameter der Funktion gibt
einen Befehl an, der nach jeder Durchführung der Schleife ausgeführt werden
soll. Wir erhöhen in dem Fall den Wert der Variable $x jeweils um 1. Die
Variable kann nur innerhalb der Schleife verwendet werden.
Foreach() Schleife
Es gibt eine weitere Schleifen Funktion, um Arrays durchzuarbeiten:
foreach()
Hier gleich ein Beispiel, wie diese verwendet wird:
$werteArray = array(2,4,8,16,32);
foreach ($werteArray as $index =>
$value) {
echo
$value . "
";
}
?>
Ausgabe:
2
4
8
16
32
Innerhalb der Funktion stehen die Variablen $index und $value bereit. Mit
$index kann man feststellen, bei welchem Eintrag man innerhalb des Arrays angelangt
ist (gezählt von 0 aufsteigend) bzw. wenn man selbst den Index eines
Arrayeintrags definiert hat, hat man diesen innerhalb der Schleife zur
Verfügung. Die Namen der Variablen sind frei definierbar, es sollte nur
innerhalb des Schleifencodeblocks klar ersichtlich sein, worum es sich bei den
Variablen handelt.
Braucht man den Arrayindex innerhalb der Schleife nicht, zum Beispiel weil
man nur die Werte der Reihe nach ausgeben möchte, geht es noch einfacher:
$werteArray = array(2,4,8,16,32);
foreach ($werteArray as $value) {
echo
$value . "
";
}
?>
Tag 3
Datum und Zeit (Wer hat an der Uhr gedreht?)
Mit der Funktion date(Format[, Zeit]) kann man sich einen bestimmten
Zeitpunkt in einer formatierten Form zurückgeben lassen. Als erster Parameter
wird das Format angegeben, als zweiter optionaler Parameter einen Zeitpunkt.
Fehlt der zweite Parameter, wir die aktuelle Serverzeit verwendet.
Hier zuerst ein Beispiel:
echo date("Y-m-d");
?>
Ausgabe (wenn aktuell der 17. Mai 2012 wäre):
2012-05-17
Der zweite Parameter muss im PHP Format time() angegeben werden:
Dieselbe Ausgabe hätte:
echo date("Y-m-d", time());
?>
Die Funktion time() liefert den gewünschten
Zeitpunkt als Zahl zurück. Der Wert beträgt immer die Sekunden nach der UNIX
Time, diese begann am 1. Jänner 1970
Weitere Kostenlose Bücher