DBSP. Prof. Dr. rer. nat. Nane Kratzke. Vorlesung. Praktische Informatik und betriebliche Informationssysteme

Ähnliche Dokumente
Java Einführung Operatoren Kapitel 2 und 3

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Diana Lange. Generative Gestaltung Operatoren

Übersicht Programmablaufsteuerung

Handout zur Vorlesung DBSP PHP I Unit 4 DBSP. Unit PHP I. Programmierparadigma Grundlegende Elemente eines PHP Programms (I)

Erwin Grüner

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Multimedia im Netz Wintersemester 2011/12

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Datenbanksysteme SS 2007

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

Kontrollstrukturen - Universität Köln

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

5. Tutorium zu Programmieren

Tutorium Rechnerorganisation

Programmierkurs Java

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Java-Programmierung mit NetBeans

Einführung in die Programmierung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Fallunterscheidung: if-statement

Entwurf von Algorithmen - Kontrollstrukturen

Excel Funktionen durch eigene Funktionen erweitern.

Modul 122 VBA Scribt.docx

C/C++ Programmierung

Prinzipien der Softwareentwicklung S. Strahringer

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Sin-Funktion vgl. Cos-Funktion

Codes und Informationsgehalt

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Einführung in die Programmierung

Übungen Programmieren 1 Felix Rohrer. Übungen

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Java Kurs für Anfänger Einheit 5 Methoden

VBA-Programmierung: Zusammenfassung

Grundbegriffe der Informatik

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Übungen zu C++ Kapitel 1

Zeichen bei Zahlen entschlüsseln

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

1 Vom Problem zum Programm

Mächtigkeit von WHILE-Programmen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Objektorientierte Programmierung

Beispiel 19. December 4, 2009

Tagesprogramm

Modellierung und Programmierung 1

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Gesicherte Prozeduren

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Lua Grundlagen Einführung in die Lua Programmiersprache

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Einführung in die C++ Programmierung für Ingenieure

Whitebox-Tests: Allgemeines

Einführung in PHP. (mit Aufgaben)

IT-Basics 2. DI Gerhard Fließ

Einführung in die Programmierung (EPR)

Einfache Rechenstrukturen und Kontrollfluss II

Einführung in die C++ Programmierung für Ingenieure

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Extending tl_member. Andreas Fieger

Programmierung in C. Grundlagen. Stefan Kallerhoff

Übungsblatt 3: Algorithmen in Java & Grammatiken

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Die Programmiersprache C99: Zusammenfassung

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Snippets - das Erstellen von "Code- Fragmenten" - 1

Dr. Monika Meiler. Inhalt

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Computeranwendung und Programmierung (CuP)

3 Die Grundrechenarten

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Kontrollstrukturen, Strukturierte Programmierung

Was ist Sozial-Raum-Orientierung?

Algorithmen mit Python

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

2. Programmierung in C

Klausur in Programmieren

3. Stored Procedures und PL/SQL

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

Internet und WWW Übungen

Einführung in die Java- Programmierung

Lokale Installation von DotNetNuke 4 ohne IIS

Grundlagen der Theoretischen Informatik, SoSe 2008

Wirtschaftsinformatik I

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Transkript:

Handout zur Vorlesung Vorlesung DBSP Unit 7 PHP IV Operatoren und Kontrollstrukturen 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: kratzke@fh-luebeck.de @NaneKratzke Updates der Handouts auch über Twitter #dbsp (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik 2 Seite 1

Übergreifende Ziele der Lehrveranstaltung Client- und Serverseitige Entwicklung Framework Erfahrungen Berücksichtigung von Sicherheitsaspekten PHP (Serverseitig) JavaScript (Clientseitig) Hosten von Apps CMS (Drupal) WebServices (Google-Maps) jquery Datenbank- Integration HTML-Injections SQL-Injections Session Hijacking Login-Systeme Um sich weitere Web-Technologien autodidaktisch erarbeiten zu können. 3 Units Unit 1 Cloud Computing IaaS Unit 2 CMS Drupal Unit 3 HTML und CSS Unit 4-7 PHP I - IV Unit 8 Sessions, Cookies, Formulare und Login-System Unit 9 JavaScript Unit 10 Drupal Module Development Unit 11 Datenmodellierung Unit 12-13 Datenbanken und SQL Vom Datenmodell zur Datenbank Unit 14 Datenbank-gestützte Web-Applikationen 4 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 2

Handout zur Vorlesung Datenbank Server Client Wo waren wir nochmal? Wir sind hier! SQL Datenbank HTML/CSS Server Client 5 Zum Nachlesen... Kapitel 4 PHP Basics Kapitel 4.5 bis 4.7 Kapitel 5 More Basics Kapitel 5.1 bis 5.4 Kapitel 6 Funktionen für... Kapitel 6.2 und 6.3 Kapitel 3 Variablen u. Datentypen Kapitel 3.8 bis 3.21 Kapitel 4 Programmstrukturen Kapitel 4.1 bis 4.3 Kapitel 5 Arrays Kapitel 5.1 bis 5.3 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik 6 Seite 3

Zum Nachlesen... Bereitgestellte Skripte: PHP Programmierung Kapitel 5: Kontrollstrukturen Kapitel 6: Datentypen und Datenstrukturen Kapitel 7: Operatoren http://praktische-informatik.fh-luebeck.de/node/39 7 Inhalte der PHP Units 1 2 3 4 5 Laufzeitmodelle und Programmierparadigma Elemente eines PHP-Programms Datentypen Operatoren Kontrollstrukturen 8 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 4

Die gängigsten Operatorarten Klassische Operatoren Arithmetische Operatoren Relationale Operatoren Logische Operatoren Bedingte Auswertung Zuweisungsoperatoren Spezielle Operatoren String-Verkettung Array Operatoren 9 Arithmetische Operatoren Erwarten numerische Operanden Liefern numerische Operanden Dienen numerischen Berechnungen 10 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 5

Liste arithmetischer Operatoren Operator Bezeichnung Bedeutung ++ Pre-Inkrement Post-Inkrement -- Pre-Dekrement Post-Dekrement $a++ = Erhöhung von $a um 1 nach Auswertung eines Ausdrucks. ++$a = Erhöhung von $a um 1 vor Auswertung eines Ausdrucks $a-- = Reduktion von $a um 1 nach Auswertung eines Ausdrucks. --$a = Reduktion von $a um 1 vor Auswertung eines Ausdrucks + Summe $a + $b = Summe von $a und $b - Subtraktion $a $b = Differenz von $a und $b * Multiplikation $a * $b = Produkt von $a und $b / Division $a / $b = Quotient von $a und $b. % Restwert (Modulo) $a % $b = Rest der ganzzahligen Division von $a durch $b. 11 Miniübung zu arithmetischen Operatoren $ai = 5; $bi = 2; $af = 5.0; $bf = 2.0; echo $ai + $bi; 7 echo $ai / $bi; 2.5 (bei JAVA wäre das Ergebnis 2!) echo $af / $bi; 2.5 echo $ai % $bi; 1 echo $ai--; 5 12 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 6

Relationale Operatoren Erwarten beliebige Ausdrücke Liefern boolsche Werte Dienen dem Vergleich von Ausdrücken 13 Liste relationaler Operatoren Operator Bezeichnung Bedeutung == gleich $a == $b ergibt true wenn $a und $b gleich sind. === Identisch $a === $b ergibt true, wenn $a und $b gleich sind und beide vom gleichen Typ sind.!= <> ungleich $a!= $b ergibt true, wenn $a und $b nicht gleich sind.!== Nicht identisch $a!== $b ergibt true, wenn $a und $b nicht gleich sind oder nicht vom gleichen Typ sind. < kleiner $a < $b ergibt true wenn $a kleiner als $b ist. > größer $a > $b ergibt true wenn $a größer als $b ist. <= Kleiner gleich $a <= $b ergibt true wenn $a kleiner als $b oder gleich $b ist. >= größer gleich $a >= $b ergibt true wenn $a größer als $b oder gleich $b ist. 14 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 7

Miniübung zu relationalen Operatoren $ai = 5; $bi = 2; $af = 5.0; $bf = 2.0; var_dump($bi == $bf); true var_dump($ai!== $af); true var_dump($ai === $bi); false var_dump($ai === $af); false 15 Logische Operatoren Erwarten boolesche Werte Liefern boolesche Werte Dienen der Formulierung logischer Bedingungen 16 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 8

Liste logischer Operatoren Operator Bezeichnung Bedeutung! Logisches NICHT!$a ergibt true wenn $a false ist und true, wenn $a true ist. && and or UND ODER $a && $b ergibt true, wenn $a und $b true sind. $a $b ergibt true, wenn mindestens einer der beiden Ausdrücke $a oder $b wahr ist. Ist bereits $a wahr wird $b nicht mehr ausgewertet. (logisches Oder) xor Exklusiv-ODER $a xor $b ergibt true wenn $a und $b einen unterschiedlichen Wahrheitswert haben (sprachliches Oder) 17 Miniübung zu logischen Operatoren $a = true; $b = false; var_dump(!$a); false var_dump(!$b); true var_dump($a and $b); false var_dump($b $a); var_dump($b xor $a); true true 18 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 9

Miniübung zu logischen Operatoren (Short Circuit Verhalten) $a = false; $c = true; $x = 1; var_dump($a && 5 / --$x == 0); var_dump($a & 5 / --$x == 0); false Division by Zero! var_dump($c 5 / --$x == 0); var_dump($c 5 / --$x == 0); true Division by Zero! 19 Bedingte Auswertung $a? $b : $c Der Fragezeichen Operator?: ist der einzige dreiwertige Operator Kann häufig eingesetzt werden, um if-abfragen zu vermeiden. $a? $b : $c Ist $a true wird $b zurückgeliefert Ist $a false wird $c zurückgeliefert 20 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 10

Miniübung: Bedingte Auswertung $a = 6; $b = 2; echo ($a % 2 == 0? Hello : World ); Hello $hw = Hello World ; $h = Hello ; $ew = function($s,$n) { return strrpos($s, $n) == strlen($s) strlen($n); }; echo ($ew($hw, $h)? $h : $hw); Hello World 21 Zuweisungs-Operatoren Erwarten Ausdrücke Liefern boolesche oder numerische Werte Dienen der Zuweisung von ausgewerteten Ausdrücken an Variablen 22 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 11

Liste der Zuweisungsoperatoren Operator Bezeichnung Bedeutung = Einfache Zuweisung $a = $b weist $a den Wert von $b. += Additionszuweisung $a += $b weist $a den Wert von $a + $b zu. $a += $b identisch zu $a = $a + $b -= Subtraktionszuweisung Analog += Operator mit - *= Multiplikationszuweisung Analog += Operator mit * /= Divisionszuweisung Analog += Operator mit / %= Modulozuweisung Analog += Operator mit % 23 Miniübung zu Zuweisungs- Operatoren $a = 5; 5 $a += 2; 7 $a %= 2; 1 $a -= -2; 3 $a /= 3; 1 $a *= 2; 2 24 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 12

Die gängigsten Operatorarten Klassische Operatoren Arithmetische Operatoren Relationale Operatoren Logische Operatoren Bedingte Auswertung Zuweisungsoperatoren Spezielle Operatoren String-Verkettung Array Operatoren 25 String Verkettung (Konkatenation) Zwei Strings in PHP können mittels des.-operators verknüpft werden. $a = Nice ; $b = 2; $c = meet you ; echo $a.$b.$c; Nice 2 meet you Bei der Operation wird ggf. ein Nichtstring Operand in einen String gewandelt. Der Operator existiert auch in Kombination mit dem Zuweisungsoperator als.=-operator. $ausgabe = $a.$b.$c; $ausgabe.= again ; echo $ausgabe; Nice 2 meet you again 26 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 13

Liste der Array Operatoren Operator Bezeichnung Bedeutung + Vereinigung $a + $b Vereinigung von $a und $b. == Gleichheit $a == $b wenn $a und $b dieselben key/value Paare haben === Identität $a === $b, wenn $a und $b dieselben key/value Paare in derselben Reihenfolge haben!= <> Ungleichheit Es gilt die Invariante ($a!= $b) ==!($a == $b)!== Nicht identisch Es gilt die Invariante ($a!== $b) ==!($a === $b) [] Anhängoperator $a[] = $v hängt $v an der letzten Position des Arrays von $a an. Vorsicht: Der Vereinigungsoperator + bei Arrays hat eine wenig intuitive Semantik. 27 Semantik des +-Operators bei Arrays an einem Beispiel $a = array("a =>"apple,"b =>"banana"); $b = array("a =>"pear,"b =>"strawberry,"c =>"cherry"); var_dump($a + $b); Array( a => apple b => banana c => cherry ) var_dump($b + $a); Array( a => pear b => strawberry c => cherry ) Der + Operator hängt verbleibende Key/Value Paare des rechts vom Operator stehenden Arrays an das links vom Operator stehende Array. 28 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 14

Mini-Übung: Array Operatoren $a = array(1, 2, 3); $b = array(2, 3, 4, 5); $a + $b; $a[] = 6; $b[] = 7; $b + $a; array(1,2,3,5) array(1,2,3,6) array(2,3,4,5,7) array(2,3,4,5,7) 29 Vorrangregeln Kennen Sie noch die Regeln: Punktrechnung vor Strichrechnung? PHP kennt dasselbe mit ein paar mehr zu berücksichtigenden Operatoren. 30 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 15

Vorrangregeln Operatorgruppen Steigende Bindung der Operatoren Assoziativität Operatoren Bezeichnung rechts ++, --,! Inkrement, Dekrement, Nicht links *, /, % Multiplikation, Division, Modulo links +, -,. Addition, Subtraktion, String-Konkatenation - <, <=, >, >= Kleiner, Kleiner-Gleich, Größer, Größer-Gleich - ==,!=, ===,! == links && Logisches Und links Logisches Oder Gleich, Ungleich, Identität, Nicht-Identität links?: Bedingte Auswertung rechts =, +=, -=, *=,... Zuweisungen links and Logisches Und links or Logisches Oder links xor Exklusiv Oder 31 Inhalte der PHP Units 1 2 3 4 5 Laufzeitmodelle und Programmierparadigma Elemente eines PHP-Programms Datentypen Operatoren Kontrollstrukturen 32 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 16

Kontrollstrukturen Verzweigungen if switch Schleifen while do for foreach 33 Verzweigungen if-abfrage Verzweigungen dienen dazu bestimmte Programmteile nur beim Eintreten vorgegebener Bedingungen auszuführen. If Variante if ($ausdruck) anweisung; If Else Variante if ($ausdruck) anweisung; else anweisung; If Block Variante if ($ausdruck) { Block von anweisungen; } If Else Block Variante if ($ausdruck) { Block von Anweisungen; } else { Block von Anweisungen; } 34 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 17

Verzweigungen Switch-Anweisung Switch Anweisung ist eine Mehrfachverzweigung. sie wertet einen im Ergebnis ganzzahligen Ausdruck aus und springt einen case Zweig oder den default Zweig an. Syntax: switch ($ausdruck) { case Konstante: anweisung;... default: anweisung; } 35 Verzweigungen Switch-Anweisung (Beispiel) Welche Ausgabe erzeugt dieser Code? $i = 4; switch (i % 3) { case 1: echo Rest 1 ; case 2: echo Rest 2 ; case 3: echo Rest 3 ; default: echo Rest 0 ; } Rest 1 Rest 2 Rest 3 Rest 0 Achtung: Nachdem ein case- oder default-label angesprungen wurde, werden alle dahinter stehenden Anweisungen ausgeführt. Will man das nicht, muss man das Label mit einer break Anweisung dazu zwingen, am Ende der switch-anweisung fortzusetzen. 36 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 18

Verzweigungen Switch-Anweisung (Beispiel) Welche Ausgabe erzeugt dieser Code? $i = 4; switch ($i % 3) { case 1: echo Rest 1 ; break; case 2: echo Rest 2 ; break; case 3: echo Rest 3 ; break; default: echo Rest 0 ; } Rest 1 Die ergänzende break Anweisung realisiert die Semantik der switch Anweisung, wie man sie intuitiv erwarten würde. 37 Kontrollstrukturen Verzweigungen if switch Schleifen while do for foreach 38 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 19

Abweisende Schleife Syntax: while ($ausdruck) { anweisung; } Prüfen des Ausdrucks Solange dieser True ist, wird der Anweisungsblock oder Einzelanweisung ausgeführt Ist der Ausdruck bereits zu Beginn false wird der Anweisungsblock nicht ausgeführt, daher abweisende Schleife. 39 Abweisende Schleife Mini-Übung: while Schleifen $i = 0; while ($i < 4) { echo $i++; } $i = 0; while ($i < 0) { echo $i++; } 0 1 2 Keine Ausgabe $i = 0; while ($i <= 0) { echo --$i; } -1-2 -3... endet nie! 40 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 20

Nicht abweisende Schleife Syntax: do { anweisung; } while ($ausdruck); Der Anweisungsblock wird mindestens einmal ausgeführt, daher nicht abweisende Schleife. Prüfen des Ausdrucks Ist dieser True, wird der Anweisungsblock oder Einzelanweisung wieder ausgeführt Ist dieser false wird die Programmausführung hinter dem while Ausdruck fortgesetzt. 41 Nicht abweisende Schleife Mini-Übung: do while Schleifen $i = 0; do { echo $i++); } while ($i < 4); 0 1 2 3 $i = 0; do { echo $i++; echo --$i; } while ($i < 4); 0 0 0... endet nie! 42 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 21

Zählschleife for klassische Variante Syntax: for (init; test; update) { anweisung; } Init Ausdruck Aufruf einmalig vor Start der Schleife Optional mehrere kommaseparierte Ausdrücke mögl. Variablendeklaration möglich Test Ausdruck Aufruf jew. am Anfang einer Schleife Optional, wenn nicht angegeben wird true gesetzt Schleife wird nur ausgeführt, wenn Ausdruck true Update Ausdruck Aufruf jew. am Ende der Schleife Optional Mehrere kommaseparierte Ausdrücke möglich Dient dazu den Schleifenzähler zu ändern 43 Zählschleife for klassische Variante (Beispiele) for ($i = 1; $i <= 3; $i++) { echo $i }; 123 $i = 1; while (TRUE) { if (!($i <= 3)) break; echo $i; $i++; } 1 2 3 //init-ausdruck einmalig //test-ausdruck vor Schleifenlauf //Update-Ausdruck am Ende Jede for-schleife kann nach diesem Muster umformuliert werden. 44 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 22

Zählschleife foreach Variante Syntax: foreach ($array as [$key =>] $value) { anweisung; } $key und $value sind Laufvariablen $array ist ein Array (d.h. eine Menge von Key/Value Paaren). Zu lesen ist dieser Ausdruck als for each $value in $array, d.h. es werden alle Key/Value Paare aus einem Array elementweise durchlaufen $key muss nicht angegeben werden, dann werden nur alle Werte eines Arrays durchlaufen 45 Foreach Schleife Mini-Übung: foreach Schleifen $as = array(7, 5, 3, 1); foreach ($as as $a) { echo $a; } 7 5 3 1 $as = array( a => Hello, b =>,,c => World! ); foreach ($as as $k => $v) { echo $k => $v ; } a => Hello b => c => World $as = array(7, 5, 3, 1); foreach ($as as $k => $v) { echo $k => $v ; } 0 => 7 1 => 5 2 => 3 3 => 1 46 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 23

Zusammenfassung Klassische Operatoren Arithmetische Operatoren Relationale Operatoren Logische Operatoren Bedingte Auswertung Zuweisungsoperatoren Spezielle Operatoren String-Verkettung Array Operatoren Kontrollstrukturen while do for foreach 47 (Praktische Informatik) Fachhochschule Lübeck Fachbereich Elektrotechnik und Informatik Seite 24