Universität zu Köln, SS 2009 Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Seminar: Allgemeine Technologien II Dozent: Herr Sahle Referentin: Ulrike Henny 05.05.2009 Grundlegendes in PHP (Syntax, Strings/Zahlen, Variablen, Arrays) I. Syntax • PHP wird direkt innerhalb des HTMLCodes eingegeben. Beispiel: • einleitender Tag: <?php • schließender Tag: ?> • alternativ: Skript-Schreibweise <script language=“php“>… </script> • der PHP-Code kann an beliebigen Stellen der HTML-Seite eingefügt werden • Trennung von PHP-Anweisungen durch ein Semikolon: ; 05.05.2009 Grundlegendes in PHP <html> <head> <title>… </title> <body> <?php PHP-Code; PHP-Code; ?> </body> </html> 2 I. Syntax • Befehl, um Daten im Browser auszugeben: echo • Syntax: echo “auszugebender Text“; echo $variable; • die auszugebenden Daten und Zeichenketten werden direkt an den Browser weitergegeben • innerhalb von echo können HTML-Tags angegeben werden, die vom Browser interpretiert werden • vor Sonderzeichen wie Anführungszeichen, Hochkommata oder Backslahs muss für die Ausgabe ein Backslash \ gesetzt werden 05.05.2009 Grundlegendes in PHP 3 I. Syntax Beispiel PHP-Code <html> <body> <?php echo echo echo echo echo echo ?> “<p><h1> Test </h1></p>“; “<p>für die Ausgabe <br>“; “von Zeichenketten <br>“; “und Daten.<br></p>“; “<h4> \“Hat es geklappt?\“ <br>“; “\“Ja!\“ </h4>“; </body> </html> 05.05.2009 Grundlegendes in PHP 4 I. Syntax Beispiel Ausgabe Test für die Ausgabe von Zeichenketten und Daten. "Hat es geklappt?" "Ja!" 05.05.2009 Grundlegendes in PHP 5 I. Syntax • der Quellcode kann kommentiert werden • Kommentare werden vom Interpreter nicht ausgeführt • Kommentare enthalten zum Beispiel: • Beschreibung von Variablen • Kurzfassung der Verwendung einer Funktion • Kennzeichnung eines Quellcode-Abschnitts für Testzwecke • Syntax: • //einzeiliger Kommentar • /* mehrzeiliger Kommentar zur Beschreibung von Quellcode */ 05.05.2009 Grundlegendes in PHP 6 I. Syntax Beispiel Ausgabe PHP-Code <html> <body> <?php echo “Dies ist ein “; /* diesen Kommentar werden wir nicht sehen */ //diesen auch nicht echo "Test."; ?> </body> </html> 05.05.2009 Grundlegendes in PHP Dies ist ein Test. 7 II. Strings/Zahlen • Datentypen in PHP: Zeichendatentyp, numerische Datentypen, Felder, Objekte • Zeichenketten (strings): • beliebige Zeichen des erweiterten ASCII-Zeichensatzes • in Anführungszeichen/Hochkommata: "Hallo"/'Hallo' • Verknüpfung von Zeichenketten: "Hallo"."Paul"; • Vergrößerung einer Zeichenkette: "Hallo"; .= "Paul"; 05.05.2009 Grundlegendes in PHP 8 II. Strings/Zahlen • numerische Datentypen: • Ganze Zahlen (integer): 1234 oder -1234 • Dezimalzahlen (double): 12.23 oder –12.34 • Einsatz für Aufzählungen, Nummerierungen, Berechnungen • z.B. mathematische Berechnungen mit arithmetischen Operatoren: 05.05.2009 Addition 1234 + 1234; Subtraktion 1234 – 1234; Multiplikation 1234 * 1234; Division 1234 / 1234; Grundlegendes in PHP 9 III. Variablen • Variablen: Speicherung von Information zur späteren Verwendung • PHP: keine Variablendeklaration • Datentyp einer Variablen: nicht festgelegt; abhängig vom Datentyp des zugewiesenen Wertes • Namen von Variablen: • keine Leerzeichen • nur Buchstaben, Ziffern und das Sonderzeichen Unterstrich "_" • keine Umlaute, kein "ß" • erstes Zeichen = Buchstabe • Groß-/Kleinschreibung beachten • darf kein reserviertes Wort sein (z.B. and,do,else,break) 05.05.2009 Grundlegendes in PHP 10 III. Variablen • Syntax: • Wertzuweisung durch den Operator = • Einleitung durch $ • Beispiel (Variablen für Zahlen): <?php $preis_milch = 0.55; $liter = 6; $gesamtpreis = $preis_milch * $liter; 3.3 echo $gesamtpreis; ?> 05.05.2009 Grundlegendes in PHP 11 III. Variablen • Beispiel (Variablen für Zeichenketten und Zahlen): <?php $preis_milch = 0.55; $liter = 6; $gesamtpreis = $preis_milch * $liter; $bezeichnung1 = "EUR"; $bezeichnung2 = "Liter"; $ausgabe = $liter." ".$bezeichnung2; $ausgabe .= " Milch kosten "; $ausgabe .= $gesamtpreis." ".$bezeichnung1; echo $ausgabe; ?> 6 Liter Milch kosten 3.3 EUR 05.05.2009 Grundlegendes in PHP 12 IV. Arrays • Arrays (Felder, Feldvariablen): zum Speichern einer größeren Menge zusammengehöriger Daten • mehrere Variablen unter einem gemeinsamen Namen • Zugriff über die Feldposition 0.55 0.60 $preis_milch1 0.65 $preis_milch2 $preis_milch3 vs. 0.55 0.60 0.65 $preis_milch 05.05.2009 Grundlegendes in PHP 13 IV. Arrays • numerisch indizierte Felder vs. assoziative Felder • numerisch indizierte Felder: • einzelne Werte (Value) innerhalb des Feldes über laufende Nummer (Index) angesprochen • Syntax: $Feldvariable = array(Wert1,Wert2,Wert3…); • assoziative Felder: • einzelne Werte (Value) innerhalb des Feldes über eindeutigen Schlüssel (Key) angesprochen • Syntax: $Feldvariable = array(Schlüssel1 => Wert1, Schlüssel2 => Wert2,…); 05.05.2009 Grundlegendes in PHP 14 IV. Arrays • Beispiel (numerisch indiziertes Feld): $preis_milch = array (0.55, 0.60, 0.65); Index 0 1 2 Preis 0.55 0.60 0.65 • Zugriff auf einen Wert: $Feldvariable[Index]; • Wert ändern: $Feldvariable[Index] = geänderter Wert; • Wert hinzufügen: $Feldvariable[] = Wertzuweisung; • Beispiel: $preis_milch[2]; $preis_milch[0] = 0.50; $preis_milch[] = 0.70; 05.05.2009 Grundlegendes in PHP 15 IV. Arrays • Beispiel (assoziatives Feld): $preis_milch = array ("Preis 1"=>0.55, "Preis 2"=>0.60, "Preis 3"=> 0.65); Schlüssel Preis 1 Preis 2 Preis 3 Preis 0.55 0.60 0.65 • Zugriff auf einen Wert: $Feldvariable[Schlüssel]; • Wert ändern: $Feldvariable[Schlüssel] = geänderter Wert; • Wert hinzufügen: $Feldvariable[Schlüssel] = Wertzuweisung; • Beispiel: $preis_milch["Preis 3"]; $preis_milch["Preis 1"] = 0.50; $preis_milch["Preis 4"] = 0.70; 05.05.2009 Grundlegendes in PHP 16 IV. Arrays • Beispiel (Ausgabe assoziatives Feld): <?php $preis_milch = array ("Preis 1" => 0.55, "Preis 2" => 0.60, "Preis 3" => 0.65, "Preis 4" => 0.70, "Preis 5" => 0.75); $preis_milch["Preis 6"] = 0.80; echo "<table border>"; echo "<tr><td><b>Preisstufe</b></td>"; echo "<td><b>Preis pro Liter</b></td></tr>"; […] ?> 05.05.2009 Grundlegendes in PHP 17 IV. Arrays • eindimensionale Felder: zur Darstellung einer Liste • zweidimensionale Felder: zur Darstellung einer Tabelle • zweidimensionale indizierte Felder • Syntax: $Feldvariable = array (array (Wert1,Wert2,…), array (Wert1,Wert2,…), array (Wert1,Wert2,…)); 05.05.2009 Index 1 (Preisstufe) Index 2 (Preis) 0 (Espresso) 1 (Latte Macchiato) 2 (Früchtetee) 0 0.90 1.00 0.80 1 0.95 1.10 0.85 2 1.00 1.20 0.90 Grundlegendes in PHP 18 IV. Arrays • zweidimensionale assoziative Felder $Feldvariable = array(Schlüssel1 => array(Schlüsselx Schlüssely Schlüsselz Schlüssel2 => array(Schlüsselx Schlüssely Schlüsselz Schlüssel3 => array(Schlüsselx Schlüssely => => => => => => => => Wert1, Wert2, Wert3), Wert1, Wert2, Wert3), Wert1, Wert2, Schlüsselz => Wert3); Schlüssel a (Preisstufe) Schlüssel b (Preis) Espresso Latte Macchiato Früchtetee Preisstufe 1 0.90 1.00 0.80 Preisstufe 2 0.95 1.10 0.85 Preisstufe 2 1.00 1.20 0.90 05.05.2009 Grundlegendes in PHP 19 IV. Arrays • Beispiel (Ausgabe zweidimensionales numerisch indiziertes Feld): <body> <table border> <tr><td><b>Espresso</b></td> <td><b>Latte Macchiato</b></td> <td><b>Früchtetee</b></td> </tr> <?php $getraenkepreise = array (array (0.90,1.00,0.80), array (0.95,1.10,0.85), array (1.00,1.20,0.90)); […] ?> 05.05.2009 Grundlegendes in PHP 20