CINXE.COM

EvoComp - PHP Beispiel: Die While-Schleife zur mehrmaligen Ausführung von Anweisungen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>EvoComp - PHP Beispiel: Die While-Schleife zur mehrmaligen Ausf&uuml;hrung von Anweisungen</title> <meta name="description" content="Mit der PHP While-Schleife lassen sich Codebl&ouml;cke mehrfach hintereinander ausf&uuml;hren - Kopfgesteuerte Schleifenvariante."> <meta name="keywords" lang="de" content="while,php,schleife,anweisung,mehrfach"> <meta name="language" content="de"> <meta http-equiv="content-language" content="de"> <meta name="robots" content="index,follow,noarchive"> <meta name="date" content="2008-11-28"> <meta name="DC.Date" content="2008-11-28"> <base href="http://www.evocomp.de/beispiele/php/while.html"> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <meta name="author" content="Alexander M&uuml;ller"> <meta name="DC.Creator" content="Alexander,M&uuml;ller"> <meta name="DC.Publisher" content="Alexander,M&uuml;ller"> <meta name="DC.Contributor" content="Alexander,M&uuml;ller"> <meta name="DC.Type" content="Text"> <meta name="DC.Format" content="text/html"> <meta name="DC.Identifier" content="http://www.evocomp.de/"> <meta http-equiv="expires" content="0"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="icon" href="/favicon.ico" type="image/x-icon"> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> <link rel="stylesheet" type="text/css" href="/portal.css"> <script src="/portal.js" type="text/javascript"></script> <meta name="revisit-after" content="15 days"> <meta http-equiv="pragma" content="no-cache"> <meta name="audience" content="Alle"> </head> <body> <a id="top" name="top"><img class="transparent" border="0" name="icount" src="/pic/transparent.gif" alt=""></a> <script language="javascript" type="text/javascript"> <!-- // hide from older browsers frameCheck (); document.getElementsByName ("icount") [0].src = "/pic/transparent.gif?" + Math.random (); // --> </script> <a href="/" title=""><img class="logo" border="0" src="/pic/logo_evocomp.jpg" alt=""></a> <p class="banner"> <a href="http://www.kunstundreisen.de" rel="nofollow" title="" target="_blank"><img border="0" src="http://www.kunstundreisen.de/mehr/verlinkung/grafiken/kunstundreisen_468_60.gif" width="468" height="60" alt=""></a> <img border="0" src="/pic/ad.gif" alt=""> </p> <div id="container"> <ul id="topmenu"> <li><a href="/index.html" title="Startseite">Home</a></li> <li><a href="/sitemap.html" title="Seitenstruktur">Sitemap</a></li> <li><a href="/contact.html" title="Kontakt">Kontakt</a></li> <li><a href="/imprint.html" title="Impressum">Impressum</a></li> </ul> <div id="contentcontainer"> <div id="breadcrumb">Sie sind hier: <a href="/index.html" title="Startseite">Home</a> :: <a href="/beispiele/beispiele.html" title="Beispiele Script">Beispiele</a> :: <a href="/beispiele/php/php.html" title="PHP Beispiele">PHP</a> :: <a href="/beispiele/php/while.html" title="While-Anweisung PHP">While</a> </div> <div id="sample"> <ul> <li>Beispiele</li> <li><a href="/beispiele/php/array.html" title="array php">&raquo; array</a></li> <li><a href="/beispiele/php/date.html" title="date php">&raquo; date</a></li> <li><a href="/beispiele/php/echo.html" title="echo php">&raquo; echo</a></li> <li><a href="/beispiele/php/explode.html" title="explode php">&raquo; explode</a></li> <li><a href="/beispiele/php/file-datei.html" title="file php">&raquo; file</a></li> <li><a href="/beispiele/php/implode.html" title="implode php">&raquo; implode</a></li> <li><a href="/beispiele/php/isset.html" title="isset php">&raquo; isset</a></li> <li><a href="/beispiele/php/split.html" title="split php">&raquo; split</a></li> <li><a href="/beispiele/php/string.html" title="string php">&raquo; string</a></li> <li><a href="/beispiele/php/substr.html" title="substr php">&raquo; substr</a></li> <li><a href="/beispiele/php/trim.html" title="trim php">&raquo; trim</a></li> <li><a href="/beispiele/php/unset.html" title="unset php">&raquo; unset</a></li> <li>Sprache</li> <li><a href="/beispiele/php/for.html" title="for php">&raquo; for</a></li> <li><a href="/beispiele/php/foreach.html" title="foreach php">&raquo; foreach</a></li> <li><a href="/beispiele/php/function.html" title="function php">&raquo; function</a></li> <li><a href="/beispiele/php/if.html" title="if php">&raquo; if</a></li> <li><a href="/beispiele/php/try-catch.html" title="try catch php">&raquo; try ... catch</a></li> <li><a href="/beispiele/php/variable.html" title="variable php">&raquo; Variable</a></li> <li><a href="/beispiele/php/while.html" title="while php">&raquo; while</a></li> <li>Sonstiges</li> <li><a href="/beispiele/php/header.html" title="header php">&raquo; Header</a></li> <li><a href="/beispiele/php/html.html" title="html php">&raquo; HTML &amp; PHP-Code</a></li> <li><a href="/beispiele/php/include.html" title="include php">&raquo; Include</a></li> <li><a href="/beispiele/php/ip.html" title="ip php">&raquo; IP-Adresse</a></li> <li><a href="/beispiele/php/mail.html" title="mail php">&raquo; Mail / eMail</a></li> <li><a href="/beispiele/php/random.html" title="random php">&raquo; random</a></li> <li><a href="/beispiele/php/redirect.html" title="redirect php">&raquo; Redirect</a></li> </ul> </div> <h1 class="notopmargin">PHP While-Schleife</h1> <p class="norm"> Mit der PHP While-Schleife lassen sich Code-Abschnitte &ndash; sogenannte Anweisungsbl&ouml;cke &ndash; mehrfach hintereinander ausf&uuml;hren. Sie geh&ouml;hrt zu den Sprachelementen der Programmiersprache PHP und sorgt daf&uuml;r, dass nach einer Eingangspr&uuml;fung der Schleifenbedingung, die Anweisung im Schleifenk&ouml;rper solange ausgef&uuml;hrt wird, bis die Schleifenbedingung nicht mehr erf&uuml;llt ist. Sollen mehrere Anweisungen ausgef&uuml;hrt werden, so ist eine Klammerung des Anweisungsblocks n&ouml;tig. Da vor Erreichen des Schleifenk&ouml;rpers, der die bedingten Anweisungen enth&auml;lt, die Bedingung zur Ausf&uuml;hrung der Schleife gepr&uuml;ft wird, wird die While-Schleife auch als kopfgesteuerte Schleife bezeichnet. Die PHP While-Anweisung ist nicht die einzige kopfgesteuerte Schleife unter PHP. Auch die For- und die Foreach-Scheife geh&ouml;ren zu den kopfgesteuerten Schleifen. </p> <p class="norm"> Anders als while ist die do-While-Schleife eine fu&szlig;gesteuerte Schleife, da hier die Schleifenbedingung erst nach einmaligem Ausf&uuml;hren des Schleifenk&ouml;rpers validiert wird. Neben den beiden Typen der While-Schleife gibt es auch unter PHP die <a href="/beispiele/php/for.html" title="for schleife in php">For-Schleife</a> und auch eine Foreach-Schleife. Zu den Sprachelementen von PHP beachten Sie bitte auch das <a href="/beispiele/php/if.html" title="if else php">If-Statement</a> sowie die Ablaufsteuerung durch switch. </p> <h2>While in PHP: Schleife mit einer Variablen, die als Z&auml;hler dient</h2> <p class="norm"> Im Script-Block unten werden Variablen definiert, die als Z&auml;hler genutzt werden und &uuml;ber welche die Steuerung der darauf folgenden While-Schleifen realisiert ist. Neben der Klammerung der Schleifenk&ouml;rper von While-Anweisungen wird hier gezeigt, dass die Tatsache, dass es sich um eine kopfgesteuerte Schleife handelt, sich unmittelbar auf den Programmablauf auswirkt. Stimmt die Schleifenbedingung nicht, so kommt der enthaltene <a href="/beispiele/php/html.html" title="html code in php">Code</a> gar nicht erst zur Ausf&uuml;hrung, was gelegentlich zu schwer nachvollziehbaren Fehlern f&uuml;hren kann. </p> <div class="code2"> <pre><span class="code_type">&lt;?php</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Variable i wird k&uuml;nftig als Z&auml;hler verwendet und sollte (wie &uuml;brigens</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// alle Variablen) zur Sicherheit zun&auml;chst einmal initialisiert werden.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$i</span> = 0; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'Werte von i:'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Achtung: Die Variable i wird VOR der Pr&uuml;fung der Schleifenbedingung</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// inkrementiert (hochgez&auml;hlt). Beim Eintritt in die Schleife enth&auml;lt</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// i den Wert 1. Sie wird so lange durchlaufen, bis i den Wert 10 erreicht</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// hat. Eine Klammerung ist hier nicht n&ouml;tig, da nur eine einzige Anweisung</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// im Schleifenk&ouml;rper enthalten ist.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (++<span class="code_var">$i</span> &lt; 10) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">' '</span> . <span class="code_var">$i</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;br&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'Inhalt der Variablen i nach der While-Schleife: '</span> . <span class="code_var">$i</span> . <span class="code_string">'&lt;br&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Der Schleifenk&ouml;rper folgender While-Schleife kommt nie zur Ausf&uuml;hrung</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// da die Schleifenbedingung schon zu Anfang nicht zutrifft. Hierin</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// unterscheidet sich die PHP while-Schleife von der do-While-Variante,</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// wo der K&ouml;rper der Schleife mindestens einmal durchlaufen wird. Erst</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// nachdem die enthaltenen Anweisungen ausgef&uuml;hrt wurden wird die</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Abbruchbedingung gepr&uuml;ft und die Schleifenausf&uuml;hrung ggf. abgebrochen.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Die hier gezeigte Variante wird &uuml;ber den Schleifenkopf gesteuert, w&auml;hrend</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// die do-While-Schleife fu&szlig;gesteuert ist.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$i</span> &lt; 10) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'Hier kommen wir nie an!&lt;br&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$i</span>--; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'Werte der Variablen i:'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Hier ist eine Klammer n&ouml;tig, da sonst nur die echo-Anweisung in der</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Schleife ausgef&uuml;hrt w&uuml;rde und der Inhalt von der Variablen i nie ver&auml;ndert</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// wird. Die Schleife liefe endlos weiter, da die Schleifenbedingung immer</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// zutrifft.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$i</span> != 0) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">' '</span> . <span class="code_var">$i</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$i</span>--; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Alternativ kann die Klammerung wegfallen, wenn die Ausgabe und</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// des herunterz&auml;hen mit folgender Anweisung realisiert wird.</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">//echo ' ' . $i--;</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> <span class="code_type">?&gt;</span> </pre> </div> <p class="sample2"> Werte von i: 1 2 3 4 5 6 7 8 9<br>Inhalt der Variablen i nach der While-Schleife: 10<br>Werte der Variablen i: 10 9 8 7 6 5 4 3 2 1 </p> <h2>PHP While Array: Iteration &uuml;ber Felder</h2> <p class="norm"> Im n&auml;chsten Abschnitt finden Sie einige Beispiele zur Nutzung der While-Schleife unter PHP bei der Verarbeitung von <a href="/beispiele/php/array.html" title="Arrays in PHP">Arrays</a>. Dazu werden sowohl ein- als auch mehrdimensionale Arrays definiert und in Variablen gespeichert. Die Iteration erfolgt jeweils &uuml;ber die internen Array-Zeiger, die auf das jeweils aktuell in der Verarbeitung befindliche Element verweisen. </p> <div class="code2"> <pre><span class="code_type">&lt;?php</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Array mit Schl&uuml;ssel und zugeh&ouml;rigem Wert initialisieren</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$a</span> = array (<span class="code_string">'ID'</span> =&gt; <span class="code_string">'123A456B'</span>, <span class="code_string">'PRODUCT'</span> =&gt; <span class="code_string">'DVD-Player'</span>, <span class="code_string">'PREIS'</span> =&gt; 49.95); &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'Inhalt:'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Iteration mit While &uuml;ber das Array</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$wert</span> = current (<span class="code_var">$a</span>)) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Ausgabe des aktuellen Elements</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">' '</span> . <span class="code_var">$wert</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// und dann den Zeiger auf das n&auml;chste Element setzen</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next (<span class="code_var">$a</span>); &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;br&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Vorsicht! Vor einer weiteren Iteration durch das Array muss der interne</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Zeiger wieder zur&uuml;ck gesetzt werden.</span> &nbsp;&nbsp;&nbsp;&nbsp;reset (<span class="code_var">$a</span>); &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Schl&uuml;ssel-Werte-Paare des Arrays mit each ermitteln bis keine weiteren</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Elemente mehr gefunden werden.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (list (<span class="code_var">$key</span>, <span class="code_var">$val</span>) = each (<span class="code_var">$a</span>)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'Schl&uuml;ssel: '</span> . <span class="code_var">$key</span> . <span class="code_string">', Wert: '</span> . <span class="code_var">$val</span> . <span class="code_string">'&lt;br&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// 2-dimensionales Array mit Wortlisten definieren</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$a</span> = array ( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array (<span class="code_string">'aber'</span>, <span class="code_string">'auch'</span>, <span class="code_string">'an'</span>, <span class="code_string">'am'</span>), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array (<span class="code_string">'bei'</span>, <span class="code_string">'bis'</span>, <span class="code_string">'bin'</span>, <span class="code_string">'bald'</span>), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array (<span class="code_string">'das'</span>, <span class="code_string">'der'</span>, <span class="code_string">'die'</span>, <span class="code_string">'den'</span>, <span class="code_string">'dem'</span>, <span class="code_string">'des'</span>) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Mehrdimensionales Array mit While-Schleifen durchlaufen</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// 1. Dimension &uuml;ber den internen Array-Zeiger ansprechen (Reihen)</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$b</span> = current (<span class="code_var">$a</span>)) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// 2. Dimension enth&auml;lt die Worte auch in einem Array</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Die Variable b wird je Durchgang durch die aktuelle Reihe</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// ersetzt. Der interne Element-Zeiger wird dabei automatisch</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// f&uuml;r b durch die Zuweisung zur&uuml;ckgesetzt, was ein reset hier</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// &uuml;berfl&uuml;ssig macht.</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$wort</span> = current (<span class="code_var">$b</span>)) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Ausgabe des aktuellen Wortes und in 2. Dimension um</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// ein Element weiter (eine Spalte)</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_var">$wort</span> . <span class="code_string">' '</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next (<span class="code_var">$b</span>); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Nach jeder Zeile soll ein Zeilenumbruch ausgegeben werden</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;br&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// In 1. Dimension fortfahren (n&auml;chste Reihe)</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next (<span class="code_var">$a</span>); &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> <span class="code_type">?&gt;</span> </pre> </div> <p class="sample2"> Inhalt: 123A456B DVD-Player 49.95<br>Schl&uuml;ssel: ID, Wert: 123A456B<br>Schl&uuml;ssel: PRODUCT, Wert: DVD-Player<br>Schl&uuml;ssel: PREIS, Wert: 49.95<br>aber auch an am <br>bei bis bin bald <br>das der die den dem des <br> </p> <h2>Abbruch der While-Schleife: Break / Exit</h2> <p class="norm"> Die PHP While-Schleife kann auch vorzeitig &ndash; etwa, wenn bestimmte Randbedingungen gegeben sind &ndash; abgebrochen werden. Dies geschieht mittels der break-Anweisung. Break nimmt einen optionalen Paramter entgegen, der per Default mit 1 belegt ist, und die Anzahl der Schleifenstufen festlegt, die beendet werden sollen. Dabei ist break nur f&uuml;r verschachtelte Schleifenebenen, die durch die Schleifentypen for, foreach, while, do-while oder switch eingeleitet wurden, einsetzbar. Nicht zum Abbruch von Schleifen geeignet ist dagegen die exit-Anweisung. Mit der exit-Anweisung w&uuml;rde gleich die Verarbeitung des gesamten Scripts beendet und nicht nur die Verarbeitung einer oder mehrerer verschachtelter Schleifen. </p> <div class="code2"> <pre><span class="code_type">&lt;?php</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Variable i initialisieren</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$i</span> = 1; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Ergebnisse in einer Tabelle ausgeben (HTML-Code f&uuml;r die Tabelle)</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;table&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Solange i kleiner als 10 ist soll der Anweisungsblock des</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// While-Schleifenk&ouml;rpers ausgef&uuml;hrt werden.</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$i</span> &lt; 10) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Z&auml;hler j jedesmal zur&uuml;cksetzen</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$j</span> = 1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Tabellenreihe mit dem entsprechenden HTML-Code beginnen</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;tr&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">while</span> (<span class="code_var">$j</span> &lt; 10) <span class="code_keyword">{</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">if</span> (<span class="code_var">$i</span> * <span class="code_var">$j</span> &gt; 50) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Ausgabe beenden, wenn das Produkt beider</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Z&auml;hlervariablen &uuml;ber 50 liegt. Hier werden</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// beide While-Schleifen abgebrochen.</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break 2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else <span class="code_keyword">if</span> (<span class="code_var">$i</span> % 2 == 0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Innere While-Schleife abbrechen, wenn die</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Variable i einen geraden Wert enth&auml;lt. Damit</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// wird nur dann das Produkt von i und j ausgegeben,</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// wenn i im Schleifendurchgang gerade ist.</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">else</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Ausgabe eines Wertes in einer Tabellenzelle,</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// deren Inhalt zentriert dargestellt wird.</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;td align="center"&gt;'</span> . <span class="code_var">$i</span> * <span class="code_var">$j</span> . <span class="code_string">'&lt;/td&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// N&auml;chste Spalte</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$j</span>++; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Tabellenzeile abschlie&szlig;en</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;/tr&gt;'</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// N&auml;chste Zeile</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="code_var">$i</span>++; &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">}</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_comment">// Tabelle nach Beendigung der Schleife schlie&szlig;en</span> &nbsp;&nbsp;&nbsp;&nbsp;<span class="code_keyword">echo</span> <span class="code_string">'&lt;/table&gt;'</span>; <span class="code_type">?&gt;</span> </pre> </div> <div style="margin:0 12em 2em 2em;background-color:#FFFF80;border-width:1pt;border-style:solid;font-family:monospace;font-size:1.0em;"> <table><tbody><tr><td align="center">1</td><td align="center">2</td><td align="center">3</td><td align="center">4</td><td align="center">5</td><td align="center">6</td><td align="center">7</td><td align="center">8</td><td align="center">9</td></tr><tr></tr><tr><td align="center">3</td><td align="center">6</td><td align="center">9</td><td align="center">12</td><td align="center">15</td><td align="center">18</td><td align="center">21</td><td align="center">24</td><td align="center">27</td></tr><tr></tr><tr><td align="center">5</td><td align="center">10</td><td align="center">15</td><td align="center">20</td><td align="center">25</td><td align="center">30</td><td align="center">35</td><td align="center">40</td><td align="center">45</td></tr><tr></tr><tr><td align="center">7</td><td align="center">14</td><td align="center">21</td><td align="center">28</td><td align="center">35</td><td align="center">42</td><td align="center">49</td></tr></tbody></table> </div> </div> <div id="left"> <div class="containerblock"> <p class="title">&not; Menu</p> <ul class="content"> <li><a href="/themen/evolutionsalgorithmen/evoalg.html" title="Evolution&auml;re Algorithmen">&raquo; Evolutionsalgorithmen</a></li> <li><a href="/softwareentwicklung/software-entwicklung.html" title="Software-Entwicklung">&raquo; Softwareentwicklung</a></li> <li><a href="/tutorials/tutorial.html" title="Tutorials / Tutorien">&raquo; Tutorials</a></li> <li><a href="/scripts/skripte.html" title="Free Scripts / Gratis Skripte Download">&raquo; Scriptarchiv</a></li> <li><a href="/beispiele/beispiele.html" title="Beispiele Scripts">&raquo; Beispiele</a></li> <li><a href="/beispiele/javascript/javascripts.html" title="JavaScripts / JavaScript Beispiel">&nbsp;&nbsp;&nbsp;&nbsp;&raquo; JavaScript</a></li> <li><a href="/beispiele/php/php.html" title="PHP Script">&nbsp;&nbsp;&nbsp;&nbsp;&raquo; PHP</a></li> <li><a href="http://forum.evocomp.de/" target="_blank" title="Forum Webentwicklung / Webprogrammierung">&raquo; Forum</a></li> <li><a href="/historie/historie.html" title="Historie">&raquo; Historie</a></li> <li><a href="/glossar/glossar.html" title="Glossar">&raquo; Glossar</a></li> <li><a href="/links/links.html" title="Links">&raquo; Links</a></li> <li><a href="/literatur/literatur.html" title="Literatur">&raquo; Literatur</a></li> <li><a href="/visitenkarte/index.html" title="Visitenkarte" target="_blank">&raquo; Visitenkarte</a></li> </ul> </div> <div class="containerblock"> <p class="title">&not; Gratis Download</p> <ul class="content"> <li><a href="/scripts/java-script-download/java-script-galerie/javascript-galerie.html" title="html bildergalerie">Web Galerie</a></li> <li><a href="/scripts/php-scripts-download/php-bilder-galerie/php-photo-galerie.html" title="dynamische bildergalerie">PHP Bildergalerie</a></li> <li><a href="/scripts/php-scripts-download/php-counter-class/php-counter-script.html" title="homepage counter">Besucherz&auml;hler</a></li> <li><a href="/scripts/java-script-download/java-script-fontsize/javascript-fontsize.html" title="schriftgr&ouml;&szlig;e html">Schriftgr&ouml;&szlig;e</a></li> </ul> </div> <div class="containerblock"> <p class="title">&not; Tutorials</p> <ul class="content"> <li><a href="/tutorials/tutorium_php_mysql/howto_php_mysql_tutorial.html" title="php mysql tutorium">PHP MySQL Tutorial</a></li> </ul> </div> <div class="containerblock"> <p class="title">&not; Seminare</p> <ul class="content"> <li><a href="/beispiele/javascript/seminar-schulung-kurs-lernen.html" title="JavaScript Einf&uuml;hrung">JavaScript Seminar</a></li> <li><a href="/beispiele/php/lernen-kurs-schulung-seminar.html" title="PHP Schulung">PHP Seminar</a></li> </ul> </div> <br/><br/> <div class="containerblock"> <p class="title">&not; Yoga</p> <ul class="content"> <li><a href="/yoga/deutschland/yoga-koeln.html" title="Yoga in K&ouml;ln">Yoga K&ouml;ln</a></li> <li><a href="/yoga/hatha-yoga.html" title="Hatha Yoga K&ouml;ln">Hatha Yoga</a></li> <li><a href="/yoga/buecher/yoga-buch.html" title="Yoga Buch">Yoga B&uuml;cher</a></li> </ul> </div> <div class="containerblock"> <p class="title">&not; Insolvenzrecht</p> <ul class="content"> <li><a href="/insolvenz/insolvenzrecht-buch.html" title="Insolvenzrecht Buch">Literatur Insolvenzrecht</a></li> </ul> </div> </div> <div id="right"> <div class="containerblock"> <p class="title">&not; News</p> <p class="content"> <span class="latest_news_date">15.08.2008</span><span class="latest_news">Schleifen in PHP: Die While-Schleife <a href="/news/15_08_2008.html" title="Meldung vom 15.08.2008">&raquo;&nbsp;mehr</a></span> <span class="latest_news_date">13.08.2008</span><span class="latest_news">Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen <a href="/news/13_08_2008.html" title="Meldung vom 13.08.2008">&raquo;&nbsp;mehr</a></span> <span class="latest_news_date">11.08.2008</span><span class="latest_news">Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String <a href="/news/11_08_2008.html" title="Meldung vom 11.08.2008">&raquo;&nbsp;mehr</a></span> <span class="news_liste_hinweis">Eine vollst&auml;ndige News-Liste ist auf der <a href="/news/news.html" title="News Seite">News-Seite</a> zug&auml;nglich.</span> </p> </div> <div class="containerblock"> <p class="title">&not; Foren</p> <ul class="content"> <li> <div style="display:inline;float:right;width:130px;"> <a href="http://forum.evocomp.de/f7/" target="_blank" title="JavaScript Hilfe">JavaScript Forum</a><br> <a href="http://forum.evocomp.de/f8/" target="_blank" title="PHP Hilfe">PHP Forum</a><br> </div> <img width="48" height="48" src="/pic/forum_icon.gif" alt="Foren" /> </li> </ul> </div> <div class="containerblock"> <p class="title">&not; Buchtipp</p> <p class="content"> <span class="book"><a href="http://ad.zanox.com/ppc/?5685652C554664482T&amp;ULP=[[20910161]]" rel="nofollow" title="" target="_blank"><img border="0" src="http://bilder.buecher.de/produkte/20/20910/20910161k.jpg" alt="" /><br />AJAX und PHP</a><br /></span> <span class="book"><hr /> Weitere PHP B&uuml;cher finden Sie unter <a href="/beispiele/php/buecher.html" title="">PHP Literatur</a> </span> </p> </div> </div> </div> <div id="copyright"> <script language="javascript" type="text/javascript"> <!-- // hide from older browsers var emadr = mkEmAdr (1); document.write ("&copy; 2004-2024 <a href=\"" + emadr + "\" title=\"E-Mail an Alexander M&uuml;ller\">" + "Alexander M&uuml;ller<\/a>"); // --> </script> <noscript> &copy; 2004-2024 Alexander M&uuml;ller<br> <a href="http://call-center.evocomp.de" title="">Call Center Central</a> </noscript> <br><a href="http://www.EvoComp.de" title="Homepage von www.EvoComp.de">www.EvoComp.de</a><br> Letzte &Auml;nderung: 28.11.2008 <p> <img border="0" src="/pic/valid-html4.01.png" width="80" height="15" alt="Valid HTML 4.01!" title="Valid HTML 4.01!"> &nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="/pic/valid-css.png" width="80" height="15" alt="Valid CSS!" title="Valid CSS!"> <br><br> <a href="http://www.gadgets4web.net/service/internet-shop.html" title="Internetshop erstellen, K&ouml;ln">Onlineshop erstellen</a> &bull; <a href="http://www.gadgets4web.net" title="Internet: Service, Webdesign, Webprogrammierung in K&ouml;ln">Internetagentur</a> &bull; <a href="http://www.gadgets4web.net/service/web-entwicklung.html" title="Webprogrammierung K&ouml;ln">Webprogrammierung</a> </p> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10