mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-10-19 09:55:03 +02:00
309 lines
12 KiB
HTML
309 lines
12 KiB
HTML
|
<html>
|
|||
|
<head>
|
|||
|
|
|||
|
<title>PHP-Einfach.de - PHP Einführung - While- und for-Schleifen</title>
|
|||
|
<meta name="Author" content="Andavos">
|
|||
|
<meta name="Publisher" content="Andavos">
|
|||
|
<meta name="Copyright" content="Andavos">
|
|||
|
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
|
|||
|
</head>
|
|||
|
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
|
|||
|
|
|||
|
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
|
|||
|
<tr>
|
|||
|
<td align="center" valign="middle" height="100%" width="100%">
|
|||
|
|
|||
|
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
|
|||
|
<tr>
|
|||
|
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
|
|||
|
<a name="oben"></a></td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
|
|||
|
<tr>
|
|||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
|||
|
|
|||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
|||
|
<tr>
|
|||
|
<td height="100" width="5"></td>
|
|||
|
<td class="black" height="100" width="150">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
|
|||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>»</b> Startseite</a><br>
|
|||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>»</b> Newsübersicht</a><br>
|
|||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>»</b> Kontakt</a><br>
|
|||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>»</b> Impressum</a><br><br>
|
|||
|
|
|||
|
|
|||
|
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
|
|||
|
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>»</b> Forum</a><br>
|
|||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>»</b> Gästebuch</a><br><br>
|
|||
|
|
|||
|
|
|||
|
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
|
|||
|
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>»</b> Einführung PHP</a><br>
|
|||
|
|
|||
|
|
|||
|
<a class="blue" href="einf_php_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_anfang.php"><b>»</b> Anfang</a><br>
|
|||
|
<a class="blue" href="einf_php_erste_schritte.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_erste_schritte.php"><b>»</b> Erste Schritte</a><br>
|
|||
|
<a class="blue" href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php"><b>»</b> Variablen</a><br>
|
|||
|
<a class="blue" href="einf_php_if-anweisung.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_if-anweisung.php"><b>»</b> if-Anweisung</a><br>
|
|||
|
<a class="blue" href="einf_php_logische_operatoren.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_logische_operatoren.php"><b>»</b> Log. Operatoren</a><br>
|
|||
|
<a class="blue" href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php"><b>»</b> Übung</a><br>
|
|||
|
<a class="blue" href="einf_php_dateien.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien.php"><b>»</b> Dateien</a><br>
|
|||
|
<a class="blue" href="einf_php_schleifen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_schleifen.php"><b>»</b> Schleifen</a><br>
|
|||
|
<a class="blue" href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php"><b>»</b> Array</a><br>
|
|||
|
<a class="blue" href="einf_php_dateien2.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien2.php"><b>»</b> Dateien Teil 2</a><br>
|
|||
|
<a class="blue" href="einf_php_datum.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_datum.php"><b>»</b> Datum & Zeit</a><br>
|
|||
|
<a class="blue" href="einf_php_email.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_email.php"><b>»</b> Mail Funktion</a><br>
|
|||
|
<div style="position: relative; left:15;" >
|
|||
|
<a class="blue"href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php"><b>»</b> Suchen & Ersetzen</a><br>
|
|||
|
<a class="blue" href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php"><b>»</b> Nützliche Funktionen</a><br>
|
|||
|
</div>
|
|||
|
<a class="blue" href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php"><b>»</b> Sessions</a><br><br>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>»</b> Einführung MySQL</a><br>
|
|||
|
|
|||
|
<br>
|
|||
|
<center>
|
|||
|
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
|
|||
|
|
|||
|
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
|
|||
|
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
|
|||
|
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
|
|||
|
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
|
|||
|
|
|||
|
</a>
|
|||
|
</center>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</td>
|
|||
|
<td height="100" width="5"></td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
</td>
|
|||
|
<td valign="top" bgcolor="#FFFFFF" width="430">
|
|||
|
|
|||
|
<table width="430" cellspacing="0" border="0" cellpadding="0">
|
|||
|
<tr>
|
|||
|
<td height="100" width="10"></td>
|
|||
|
<td valign="top" class="black" height="100" width="410">
|
|||
|
<br>
|
|||
|
<h4>While-Schleife</h4>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
In manchen Fällen ist es notwendig, eine Anweisung so lange auszuführen, bis ein bestimmtes Ergebnis eintritt. <br>
|
|||
|
Dies benutzt man z.B. auch um den Inhalt von Datenbanken (z.B. MySQL) oder einfach den Inhalt von Dateien auszugeben. <br><br>
|
|||
|
|
|||
|
Hierfür können wir entweder <b>while-</b> oder auch <b>for-Schleifen</b> benutzen. <br>
|
|||
|
Bei einer <b>while-Schleifen</b> kann man eine komplexere Bedingung angeben, darum wird diese häufiger benutzt. <br>
|
|||
|
For-Schleifen benutzt man meistens nur zum Hoch- bzw. Runterzählen von Werten. <br><br>
|
|||
|
|
|||
|
Für unser Beispiel lassen wir unseren PHP Script solange zählen, bis eine bestimmte Zahl erreicht ist. <br><br>
|
|||
|
|
|||
|
Dafür brauchen wir als erstes ein Formular, indem wir die Zahl eingeben. <br><br>
|
|||
|
|
|||
|
<font color="#606060">
|
|||
|
<pre>
|
|||
|
<form action="seite2.php" method="post">
|
|||
|
Eine Zahl zwischen 1 und 25:<br>
|
|||
|
<input type="Text" name="zahl">
|
|||
|
<input type="Submit" value="Absenden">
|
|||
|
</form>
|
|||
|
</pre>
|
|||
|
</font>
|
|||
|
|
|||
|
|
|||
|
Der nächste Schritt ist die <b>while-Schleife</b>.<br><br>
|
|||
|
|
|||
|
Zuerst fragen wird selbstverständlich unseren Zahlenwert ab.<br><br>
|
|||
|
|
|||
|
Bei while-Schleifen arbeitet man meistens mit einem "internen Counter", der zunächst initialisiert wird - in diesem Fall mit dem Wert 0. <br><br>
|
|||
|
|
|||
|
<font color="#606060">
|
|||
|
<pre>
|
|||
|
<?php
|
|||
|
$zahl = $_POST['zahl'];
|
|||
|
|
|||
|
$a = 0;
|
|||
|
?>
|
|||
|
</pre>
|
|||
|
</font>
|
|||
|
|
|||
|
Diese Zahl speichern wir in der Variable <b>$a</b>.<br>
|
|||
|
Wir könnten natürlich auch jede andere Variable benutzen. <br><br>
|
|||
|
|
|||
|
Der Wert entscheidet darüber, ab wann PHP anfangen soll zu zählen, wir könnten auch von -10 zählen lassen.<br><br>
|
|||
|
|
|||
|
|
|||
|
Dann brauchen wir unsere <b>while-Schleife</b>.<br>
|
|||
|
<font color="#606060">
|
|||
|
<pre>
|
|||
|
<?php
|
|||
|
while($a < $zahl)
|
|||
|
{
|
|||
|
$a++;
|
|||
|
echo $a.", ";
|
|||
|
}
|
|||
|
?>
|
|||
|
</pre>
|
|||
|
</font>
|
|||
|
|
|||
|
Direkt nach dem einleitenden <b>while</b> wird innerhalb der runden Klammer die Bedingung gestellt. Solange diese Bedingung zutrifft, wird jetzt die Anweisung, der Code innerhalb der geschwungenen Klammern, ausgeführt.<br><br>
|
|||
|
|
|||
|
Zum Anfang erhöhen wir den Wert von <b>$a</b> um eins, denn wir wollen dort als erste Zahl eine 1 stehen haben.<br>
|
|||
|
Wir können natürlich auch am Schluss <i>$a++</i> schreiben, dann wäre aber die erste Ausgabe eine Null.<br>
|
|||
|
<br><br>
|
|||
|
|
|||
|
|
|||
|
Das erhöhen der Variable $a ist ganz <b>wichtig</b>, sonst würde sich PHP dumm und dämlich zählen, denn die Bedingung wäre dann immer wahr. <br><br>
|
|||
|
|
|||
|
|
|||
|
Zwischen den geschwungenen Klammern geben wir die Zahl und ein Komma aus, damit es besser aussieht. <br><br>
|
|||
|
|
|||
|
Der ganze Script sieht dann so aus:<br>
|
|||
|
<font color="#606060">
|
|||
|
<pre>
|
|||
|
<?php
|
|||
|
$zahl = $_POST["zahl"];
|
|||
|
|
|||
|
//Eine kleine <20>berpr<70>fung,
|
|||
|
//damit keine zu gro<72>en Zahlen eingegeben werden
|
|||
|
if($zahl > 25)
|
|||
|
{
|
|||
|
$zahl = 25;
|
|||
|
}
|
|||
|
|
|||
|
$a = 0;
|
|||
|
while($a < $zahl)
|
|||
|
{
|
|||
|
$a++;
|
|||
|
echo $a.", ";
|
|||
|
}
|
|||
|
?>
|
|||
|
</pre>
|
|||
|
</font>
|
|||
|
|
|||
|
|
|||
|
<h4>for-Schleife</h4>
|
|||
|
Neben der <b>while-Schleife</b> gibt es auch noch die <b>for-Schleife</b>. Diese ist etwas komplizierter und mit ihr lässt man nur Werte Hoch- bzw. Runterzählen. <br><br>
|
|||
|
|
|||
|
Wir benutzen wieder das Beispiel mit dem Zählen.<br><br>
|
|||
|
|
|||
|
Der erste Teil bleibt gleich:<br>
|
|||
|
<font color="#606060">
|
|||
|
<pre>
|
|||
|
<?php
|
|||
|
$zahl = $_POST["zahl"];
|
|||
|
|
|||
|
if($zahl > 25)
|
|||
|
{
|
|||
|
$zahl = 25;
|
|||
|
}
|
|||
|
?>
|
|||
|
</pre>
|
|||
|
</font>
|
|||
|
|
|||
|
Doch jetzt brauchen wir die <b>for-Schleife</b>.<br><br>
|
|||
|
|
|||
|
<font color="#606060">
|
|||
|
<pre>
|
|||
|
<?php
|
|||
|
for($a = 0; $a < $zahl; $a++)
|
|||
|
{
|
|||
|
echo $a;
|
|||
|
echo ", ";
|
|||
|
}
|
|||
|
?>
|
|||
|
</pre>
|
|||
|
</font>
|
|||
|
|
|||
|
Bei der <b>for-Schleife</b> geben wir die Variable <b>$a</b> innerhalb der runden Klammern an.<br>
|
|||
|
Dort geben wir nach dem erstem Semikolon (;) die Bedingung an. Zum Schluss (auch durch ein Semikolon ; getrennt) erhöhen wir den Wert von <b>$a</b> um 1.<br><br>
|
|||
|
|
|||
|
Wir benutzen als Startwert 0, und die Schleife läuft insgesamt $zahl (max. 25) mal durch. Die erste Ausgabe wird eine 0 sein.<br><br>
|
|||
|
|
|||
|
Schleifen braucht man sehr oft, wenn man mit Datenbanken oder Dateien arbeitet.<br><br>
|
|||
|
|
|||
|
|
|||
|
Als nächstes schauen wir uns die <a href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php">Array</a> Funktion an.<br> <br>
|
|||
|
|
|||
|
|
|||
|
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div align="center"><a href="#oben">Nach oben</a></div>
|
|||
|
</td>
|
|||
|
<td height="100" width="10"></td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
</td>
|
|||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
|||
|
|
|||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
|||
|
<tr>
|
|||
|
<td height="100" width="5"></td>
|
|||
|
<td valign="top" class="black2" height="100" width="150">
|
|||
|
|
|||
|
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
|
|||
|
|
|||
|
|
|||
|
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
|
|||
|
<br><br>
|
|||
|
|
|||
|
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
|
|||
|
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
|
|||
|
<br><br>
|
|||
|
|
|||
|
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
|
|||
|
|
|||
|
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
|
|||
|
|
|||
|
|
|||
|
<br> <br>
|
|||
|
<div align="center">© PHP-Einfach.de 2003 - 2007 </div>
|
|||
|
</td>
|
|||
|
<td height="100" width="5"></td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|