Index/Schlüssel. 0 Montag. 1 Dienstag. 2 Mittwoch. 3 Donnerstag. 4 Freitag. 5 Samstag. 6 Sonntag

Ähnliche Dokumente
01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

PHP-Code in ein HTML-Dokument einbinden (php_einbinden.php)

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Programmsteuerung mit PHP - if/else, elseif,switch

Übersicht Shell-Scripten

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Funktionen in PHP 1/7

GI Vektoren

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern

Multimedia im Netz Wintersemester 2011/12

Die Datenbank und der Strukturentwurf wurden vorher mit phpmyadmin erzeugt.

6. Zeiger Allgemeines Definition eines Zeigers

Abfragen aus mehreren Tabellen (mit join)

entweder: zeilenweise fgets() oder: zeichenweise fgetc()

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

Ein einfaches Gästebuch erstellen

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

Hilfe zum PDF Formular Editor

HTML. HyperText Markup Language. von Nico Merzbach

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Das Paket enthält: vionlink-formmailer.php src/formular.htm src/font.tff src/bg.png src/capmaker.php. eine Nutzungslizenz dieses Handbuch

Algorithmen und ihre Programmierung

Grundlagen der Informatik Vorlesungsskript

JavaScript und PHP-Merkhilfe

PHP/HTML-Exkurs_Aufgabe

Word starten. Word Word 2010 starten. Schritt 1

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

Arrays (Felder/Vektoren)

Information zur Konzeptberatungs-Schnittstelle

Mul$media im Netz Wintersemester 2014/15. Übung 01 (Nebenfach)

Prinzipien der Softwareentwicklung S. Strahringer

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT

PHP mit Dreamweaver MX bearbeiten 00

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5

Processing Info zu Variablen und Bedingungen

Elementare Datentypen in C++

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 1. Ausgabe, Dezember 2011 HTML5

Praktikum im Grundstudium

Herzlich Willkommen. Über mich Termine Literatur Über PHP

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays

Dateien lesen und schreiben mit php

Arbeiten mit Arrays. 4.1 Eigenschaften Schlüssel und Element. Kapitel 4

Ereignisse Auf Benutzereingaben reagieren

Der Rumpf. Titel Seite 3

Übung zur Vorlesung Multimedia im Netz

swp12-6 Aufgabenblatt Qualita tssicherungskonzept

+ C - Array (Vektoren, Felder)

Schnellstartanleitung

Wechseln Sie in den oberen Bereich auf Start> Dokumentenverwaltung> Neues Schreiben.

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

Makro + VBA 2007 effektiv

Grundlagen der Informatik 2

Projektdokumentation

Eigene Seiten erstellen Eigene Inhalte / CMS

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Erstellen und Verwalten von Karteikarten für imcards am iphone / ipod touch

Multimedia im Netz Wintersemester 2013/14. Übung 10 (Nebenfach)

Variablen und Konstanten

Hierfür sind mit dem Content Management System (CMS) Joomla in Verbindung mit SIGE Pro Inhalte angelegt worden, die genau diesen Zweck erfüllen.

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 5 Formulare

Dateneingabe über ein HTML-Formular in eine Datenbank:

Einführung in die Programmierung für Computerlinguisten

Inhalt: Eberhart 2.php_formular.docx 1

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Auf einer Seite werden maximal 10 Einträge angezeigt. Sind viele Einträge vorhanden, werden diese auf mehrere Seiten aufgeteilt.

Programmieren I + II Regeln der Code-Formatierung

Microsoft Access Abfragen: Informationen anzeigen und sortieren

TYPO3 Redaktoren-Handbuch

Datenbanken für Online Untersuchungen

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

Arrays. PHP JavaScript Kapitel 9

Kapitel 6. Programmierkurs. 6.0 Felder (Arrays) Deklaration von Feldern. Felder (Arrays) Mehrdimensionale Arrays. Birgit Engels, Anna Schulze WS 07/08

Einführung. Einführung in NTI Shadow. Übersicht über den Begrüßungsbildschirm

Internet-Projekte Kurt Stettler Tel

Schiller-Gymnasium Hof

Programmieren der Untersuchung

Beschreibung des Angebotes. PHP Programmierung. LernenimInternet. Angebot-Nr Angebot-Nr Weiterbildung. Preis.

Am Anfang werden die Attribute deklariert public class Kreis {

iphone-kontakte zu Exchange übertragen

Handbuch Teil 9 Produktion

Grundlagen der Informatik 2

4 SERIENDRUCK. 4.1 Vorbereitung

Abbildung 6-8: Abfolge beim doppelten Abschicken von Formularen

Word. Verweise. Textmarken, Querverweise, Hyperlinks

Web-Anwendungen Teil 2 PHP kl. Studienprojekt (Praktikum) Winter 2014/ Daniel Fett

Vorlesung Unix-Praktikum

Hilfe zur Dokumentenverwaltung

Dokumentieren mit Eclipse und Doxygen

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

PHP Einsteiger Tutorial Kapitel 4: Ein Kontaktformular in PHP Version 1.0 letzte Änderung:

Handout für die Anzeige verschiedener persönlicher Adressbücher

Empfang & Versand. Integrierte Funktionen

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Transkript:

Verwendete Befehle: array() print_r inkl. echo < pre > var_dump() foreach() count rand() Übung: Zufallsbilder, Preisliste, Umfrage Arrays Die Typen von Variablen, die bisher besprochen wurden, speichern genau einen Wert. Manchmal möchte man aber gleichzeitig mit mehreren Werten arbeiten, beispielsweise mit einer Liste von möglichen Farben, einer Liste von Gästen, einer Liste von zur Verfügung stehenden Versionen oder Sprachen, einer Liste von Preisen oder Produkten etc. Genau dafür sind Arrays gedacht, die mitunter auch Feldervariablen genannt werden. Bei Arrays wird einer Variablen mehreren Werte zugeordnet. Wenn man in einer Variablen mehrere Werte speichert, stehen viele nützliche Möglichkeiten offen: Die Werte lassen sich sortieren und neu ausgeben, man kann auf einzelne gezielt zugreifen, sie vergleichen, zählen, weitere ergänzen und wieder ausgeben lassen. Beispiel: Array der Wochentag Index/Schlüssel Wert Statt mit vielen Variablennamen arbeiten zu müssen, kann man mit Hilfe von Arrays einen bestimmten Wert in einem Array durch seinen Index abrufen (ausgeben), den man in eckigen Klammern hinter den Namen des Arrays setzt: echo $tag[2]; Dies entspricht in dem Beispiel: Mittwoch 1)Numerisches Array 0 Montag 1 Dienstag 2 Mittwoch 3 Donnerstag 4 Freitag 5 Samstag 6 Sonntag Dieses Beispiel zeigt ein sogenanntes numerisches Array. Dabei greift man auf die einzelnen Werte über einen numerischen Index (0,1,2,3 ) als Schlüssel zugreift. Später folgt noch das assoziative Array. Eberhart 5.php_array.docx 1

Arrays erstellen Erstelle zuerst eine neue php-datei 1.arrays.php. Um ein Array zu erstellen, verwendet man das Schlüsselwort array(). Hier einmal ein Beispiel für ein einfaches Array mit drei Elementen, getrennt durch Beistriche und keine Strichpunkte! $antworten = array("nie", "manchmal", "oft"); In den Klammern hinter array() führt man bei der Definition eines Arrays die einzelnen Werte durch Komma getrennt auf. Wenn es Strings sind, schreibt man sie wie gewohnt in Anführungszeichen. Zahlen notiert man ohne: $werte = array(42, 66, 3.5, 55, 7); Innerhalb eines Arrays können auch verschiedene Typen kombiniert werden: $antworten = array("nie", "manchmal", "oft", 42); Bei der Namensgebung für Arrays gelten die gleichen Regeln wie bei Variablen. Erlaubt sind Buchstaben, Ziffern und der Unterstrich, und der Name darf nicht mit einer Ziffer beginnen. Kleine Arrays lassen sich problemlos in einer Zeile definieren. Sobald man aber mehrere Werte speichern will, wird es schnell unübersichtlich. Daher sollte man mit Hilfe von Einrückungen und mehreren Zeilen für Übersicht sorgen: <?php $tag = array ( "Montag", "Dienstag", "Mittwoch" );?> Die einzelnen Elemente werden von PHP automatisch durchnummeriert. Die Nummerierung beginnt dabei das ist wichtig bei 0. Das ist der sogenannte Index. Um ein einzelnes Element auszulesen, schreiben Sie den Namen des Arrays und in eckigen Klammern den Index: echo $antworten[0]; /* nie */ echo "<br />\n"; echo $antworten[2]; /* oft */ Eberhart 5.php_array.docx 2

Man kann Arrays auch problemlos im Nachhinein mit weiteren Elementen ergänzen. Nehmen wir noch einmal das bestehende Array: $antworten = array("nie", "manchmal", "oft", 42); Wenn man versucht, das Array als Ganzes per echo auszugeben, sieht das Ergebnis nicht wie gewünscht aus: echo $antworten; Das schreibt einfach»array«auf den Bildschirm. Um sich schnell einen Überblick über die Inhalte zu verschaffen, ist die PHP-Funktion print_r() praktisch. print_r($antworten); Will man den Browser dazu bringen, die Inhalte wie im Quellcode anzuzeigen, inklusive aller Leerzeichen, kann man das ansonsten selten verwendete HTML-Element pre benutzen und die Ausgabe von print_r() innerhalb der Start- und Endtags von pre schreiben: echo "<pre>"; print_r($antworten); echo "</pre>"; Noch ausführlichere Informationen über das Array erhält man, wenn man anstelle von print_r() die Funktion var_dump() benutzt: Eberhart 5.php_array.docx 3

echo "<pre>"; var_dump($antworten); echo "</pre>"; Man sieht dann gleichzeitig, um welchen Datentyp es sich handelt, und bei Strings auch ihre Länge. Übung obst.php Erstelle ein neues php-file und darin das Array $obst aus Apfel, Birne, Kirsche, Kiwi und Banane. Gib danach alle mit Hilfe von var_dump() aus. Arrays durchlaufen mit foreach Die Ausgabe mit var_dump() oder print_r() ist nur geeignet, um sich bei der Programmierung einen schnellen Überblick über den Inhalt zu verschaffen man könnte diese Ausgabe nicht einem normalen Benutzer zumuten. Dafür gibt es andere Wege: Speziell für die Ausgabe oder sonstige Bearbeitung aller Elemente eines Arrays existiert die Schleife foreach. Bei foreach werden Schritt für Schritt die einzelnen Elemente des Arrays durchlaufen und die festgelegten Anweisungen für jedes Element ausgeführt. Man muss foreach nicht sagen, wie oft es das durchführen soll, denn foreach wird durch die Anzahl der Arrayelemente selbst begrenzt. In runden Klammern hinter foreach gibt man zuerst das Array an, das man durchlaufen möchte. Danach folgt das Schlüsselwort as und danach der Name einer temporären Variablen, die den Wert der einzelnen Elemente zwischenspeichert. Der Name der Variable ist frei wählbar. In geschweiften Klammern steht der Code, der für jedes Element ausgeführt werden soll. Um jedes Element auszugeben, verwende den Namen, den man für die temporäre Variable eingesetzt hat. Durch folgenden Code wird jedes Element des $antworten-arrays ausgegeben gefolgt jeweils von einem Zeilenumbruch: foreach ($antworten as $aw) { echo "$aw <br />"; } Eberhart 5.php_array.docx 4

Wenn man außerhalb von foreach noch einmal auf die Variable $aw zugreift, erhält man den zuletzt dort gespeicherten Array-Wert: foreach ($antworten as $aw) { echo "$aw <br />"; } echo $aw; Eberhart 5.php_array.docx 5

Um die Anzahl der Elemente eines Arrays zu ermitteln, kann man die Funktion count() einsetzen. Bei count() notiert man in runden Klammern das Array, dessen Elemente man zählen möchte. Als Rückgabewert erhält man die Anzahl der Elemente: $anzahl = count($antworten); echo $anzahl; Gib einen HTML-Code ebenfalls an: Übung: 1.orte.php Erstellen Sie ein Array mit fünf Orten. Lassen Sie dann alle Orte in einer foreach-schleife ausgeben, wobei nach jedem Ort immer ein Zeilenumbruch <br /> eingefügt werden soll. Eberhart 5.php_array.docx 6

Beispiel: Zufällig ein Bild anzeigen lassen Jetzt ein kleines Beispiel für die Verwendung von Arrays. Es soll zufällig eines von mehreren Bildern ausgegeben werden. Die Pfade zu den Bildern werden dafür in einem Array gespeichert. Außerdem benötigen wir eine Funktion, die eine zufällige Zahl ermittelt. Genau dafür gibt es rand(). rand() erwartet in runden Klammern zwei Werte: Der eine bestimmt den minimalen Wert der Zufallszahl, der andere gibt den höchsten möglichen Wert an: $zufallszahl = rand(0, 4); Damit ist eine Zahl von 0 bis einschließlich 4 in $zufallszahl gespeichert. Kommen wir zur zufälligen Ausgabe von Bildern: 01 <!DOCTYPE html> 02 <html> 03 <head> 04 <meta charset="utf-8" /> 05 <title>zufallsbilder</title> 06 </head> 07 <body> 08 <?php 09 $bilder = array("barbara.jpg", "edin.jpg", 10 "dennis.jpg", "julian.jpg", 11 "alex.jpg"); 12 $max = count($bilder) - 1; 13 $zufallszahl = rand(0, $max); 14 echo "<img src='$bilder[$zufallszahl]' height='200' width='150' />"; 15?> 16 </body> 17 </html> Speichern unter zufallsbilder.php. In Zeile 9 wird ein Array namens $bilder angelegt. Es beinhaltet die Pfade zu den Bildern, die sich in demselben Ordner befinden wie das PHP-Skript selbst. Zeile 12 ermittelt die Anzahl der Elemente des Arrays und zieht 1 davon ab. Damit haben wir in $max den höchsten Index des Arrays. Im Beispiel enthält das Array 5 Elemente. Der letzte Index ist aber 4 da beim Index mit 0 zu zählen begonnen wird, also eins weniger. Zeile 13 ruft die Funktion rand() auf. Sie soll eine Zahl zwischen 0 und dem in $maxgespeicherten höchsten Index generieren. Diese wird in der Variablen $zufallszahlgespeichert. In Zeile 14 erfolgt die Ausgabe des Zufallsbildes über das hierfür benötigte img-element, das beim Attribut src den Pfad zur Datei erwartet. Hier wird auf das Array $bilder zurückgegriffen und als Index die Variable $zufallszahl benutzt, die ja einen Wert zwischen 0 und dem letzten Index enthält. Damit wird immer ein anderes Bild aus dem Bilderarray ausgelesen. Wenn man das Skript testet, klicke mehrmals auf den Reload-Button: Welche Bilder angezeigt werden, wird zufällig bestimmt. Übung: Ändere das Beispiel zufallsbilder.php so ab, dass zufällig einer von mehreren Texten angezeigt wird. Dafür muss man natürlich zuerst ein Array mit mehreren Strings definieren! Eberhart 5.php_array.docx 7

2)Assoziative Arrays Bei assoziativen Arrays steht keine fortlaufende Zahlenreihe als Index, sondern anstelle des Index ein String, der eine bestimmte Bedeutung hat. Bisher haben wir die einzelnen Elemente über Nummern angesprochen. Manchmal möchte man aber die Arrayelemente über Namen ansprechen. Solche Schlüssel-Wert-Paare kann man einsetzen, wenn man beispielsweise Farbnamen den entsprechenden in HTML/CSS üblichen hexadezimalen Farbbezeichnungen zuordnen möchten. Oder um Vorwahlnummern Städten zuzuordnen, Produktklassen zu Mehrwertsteuersätzen usw. Beispiele: Schlüssel Wert USB-Stick 6,99 Rapid 3 Tore Partei 1 35% Vordefinierte assoziative Array in PHP: Es gibt auch viele in PHP vordefinierte assoziative Arrays. So kann man über $_SERVER["PHP_SELF"] auf den Pfad zum aktuellen Skript zugreifen oder über $_GET["name"] oder $_POST["name"] auf den Inhalt von Formulardaten. Zur Erstellung eines assoziativen Arrays verwende wieder array(), schreibe aber in runde Klammern immer die Schlüssel-Wert-Paare, die durch => verknüpft werden, d.h. die Zuweisung erfolgt mit dem Operator => Das sind zwei direkt aufeinanderfolgende Zeichen, das Gleichheits- und das Größer-als-Zeichen. Eberhart 5.php_array.docx 8

Übung Farben: Öffne wieder die Datei 1.arrays.php zum Weiterarbeiten: $farben = array ("rot" => "#FF0000", "grün" => "#00FF00", "blau" => "#0000FF"); Ein assoziatives Array bearbeiten: Falls man die Funktion array() nicht einsetzen will, kann man die Elemente eines assoziativen Arrays auch einzeln definieren: $farben["rot"] = "#FF0000"; $farben["grün"] = "#00FF00"; Auf diese Art lassen sich auch nachträglich weitere Elemente ergänzen: $farben["schwarz"] = "#000000"; Die einzelnen Werte kann man mit mehreren Varianten ausgeben: z.b. echo $farben["rot"]; echo "<p>wir haben den Farbecode für rot $farben[rot] gefunden.</p>"; echo "<p>wir haben den Farbecode für rot ", $farben["rot"], "gefunden.</p>"; Die Varianten für das echo: Man setzt den Schlüssel (hier rot) in Anführungszeichen und in eckige Klammern hinter den Variablennamen. Man verwendet bei zusätzlichen Texten die Anführungszeichen am Beginn und am Ende des Strings, verzichtet aber auf Anführungszeichen innerhalb des Strings. Man hängt eine Array-Variable mit einem Komma an einen String an. Code: Eberhart 5.php_array.docx 9

Einen schnellen Überblick über den Inhalt eines Arrays verschafft man sich wiederum mit print_r() oder var_dump(): Beispiel: var_dump($farben); Foreach-Schleife Um ein assoziatives Array der Reihe nach zu durchlaufen, benötigt man eine foreach-schleife. Um die Inhalte ansprechender auszugeben, braucht man foreach. In runden Klammern gib zuerst den Namen des Arrays an, das durchlaufen werden soll. Dann folgen das Schlüsselwort as und zwei Variablen, die als temporäre Speicher für jeweils den Schlüssel und den dazugehörigen Wert dienen und durch => getrennt werden. Für die beiden Variablen kann man eigene Bezeichnungen wählen, z.b. $key und $value. foreach ($farben as $k => $v){ echo "Schlüssel: $k, Wert: $v<br />\n"; } Eberhart 5.php_array.docx 10

Übung Preisliste: Erstelle eine Datei preiseliste.php für ein assoziatives Array mit folgenden Getränken: Rotwein 2,- ; Spritzer 2,- ; Fanta 2,- ; Bier 3,- ; Schnaps 3,-. Gib die Liste mit foreach aus. Übung Beruf: Erstelle folgernde Datei beruf.php Beispiel: Formulare über Arrays gestalten Mit Array lassen sich Auswahlfelder in Formularen besonders schnell erstellen. Normalerweise muss man bei Optionen, Checkboxen oder Dropdown-Feldern jeden einzelnen Eintrag mit <input> einfügen. Legt man die einzelnen Werte aber in einem Array ab, tut man sich leichter. Diese Möglichkeiten innerhalb des Array werden über eine foreach-schleife ausgegeben. Erstelle eine neue php-datei mit dem Namen umfrage.php Hier wurde vor dem Start der HTML-Info bereits per PHP der Inhalt des Formulars angegeben. Dies geschah mit Hilfe eines Arrays. Im <body> wird dann mit foreach darauf zugegriffen. Eberhart 5.php_array.docx 11

Quelle: Eberhart 5.php_array.docx 12