php 5 - hjr-verlag.de · 2011. 12. 24. · regalsystematik: programmierung isbn...

28
PHP 5.3 Oliver Leiss Jasmin Schmidt 3. Auflage LERNEN • ÜBEN • ANWENDEN DAS EINSTEIGER SEMINAR

Upload: others

Post on 21-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Regalsystematik:Programmierung

ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3

(D) € 14,95

Probekapitel & Infos erhalten Sie unter:[email protected]

Der erste Teil vermittelt die not- wendigen theoretischen Grund-lagen. Schritt für Schritt werden Sie mit den wesentlichen Pro-grammfunktionen und Features vertraut gemacht.

Im zweiten Teil vertiefen und festigen Sie Ihren Wissens-stand. Dazu finden Sie diverse kapitelbezogene Fragen und Übungs aufgaben mit ausführ- lichen, kommentierten Lösungen.

Dieser Teil schlägt eine Brücke zwischen Theorie und Praxis. In einem komplexen, durchgän- gigen Praxisbeispiel wenden Sie nun die in Teil I erlernte und in Teil II geübte Theorie an.

LERNEN ÜBEN ANWENDEN

PHP 5.3Oliver Leiss • Jasmin Schmidt

3. Auflage

LERNEN • ÜBEN • ANWENDEN

DAS EINSTEIGERSEMINAR

PHP 5.3Das Buch ist als Einsteigerseminar konzipiert und vermittelt grundlegende und praxisorientierte Kenntnisse zum Umgang mit PHP. Die ersten Kapitel dienen als Einführung in PHP. Hier werden wichtige Funktionen der Sprache PHP vorgestellt. Einsteiger sollten daher auch mit diesen Kapiteln beginnen. Besitzen Sie bereits Programmierkenntnisse, wird Ihnen die Arbeit mit diesem Buch sicherlich leichter von der Hand gehen. Der fortgeschrittene Leser kann daher anhand des Inhalts-verzeichnisses gezielt auf die für ihn interessanten Kapitel zugreifen.Mit kurzen Beispielprogrammen sollen die vorgestellten Befehle und Funktionen schnell und einfach nachvollziehbar sein. Übungen und kleine Anwendungen regen zum Ausprobieren an! Learning by doing steht hier im Vordergrund, also testen Sie möglichst viele der Beispiele selber an ihrem PC aus. Nur so gelingt Ihnen ein zielorientierter Einstieg in die Welt des Programmierens und Sie lernen, mit möglichen Fehlerquellen geschickt umzugehen und diese zu vermeiden.

PCRE- und Perl-Compatible Regular Expression (PCRE), Aufbau eigener Funktionen, eigene Funktionen Parameter einer Funktion, Übergabe einer Referenz, optionale Parameter

Überwachen von Zugangskontrolle über Captcha, Erstellung eines einfachen Captchas, Formulareingaben Anpassung der Prüfdatei

Webseiten sicherer Cookies: Abfragen des Benutzernamens, Verhindern einer Session- gestalten übernahme, Abwehren einer Sessionentführung

Externe Dateizugriffe Einlesen einer entfernen Textdatei, Scheiben in eine Textdatei, E-Mails versenden

Grafiken mit PHP Eine einfache Grafik erzeugen, geometrische Figuren, Ausgabe von Text

SimpleXML in der Praxis SimpleXML in Vebindung mit einer Datenbank, tabellarische Darstellung eines XML-Dokuments

Objektorientierte Einführung in Grundelemente und Techniken, praktische Umsetzung der Programmierung Merkmale der OOP

PHP

5.3

7542

DA

S E

INS

TE

IGE

RS

EM

INA

R

22,5 mm978-3-8266-7542-3_umschlag.indd 1 04.05.2011 12:58:00

Page 2: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Teil I: Lernen

7542.indb 217542.indb 21 04.05.2011 12:40:3804.05.2011 12:40:38

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 3: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

7542.indb 227542.indb 22 04.05.2011 12:40:3804.05.2011 12:40:38

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 4: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 23

L1 Einführung in PHP

In diesem Kapitel schaffen Sie die Grundlagen, die für ein erfolgreiches Arbeiten mit PHP unabdingbar sind. Es wird vorausgesetzt, dass Sie XAMPP verwenden oder einen ver-gleichbaren WAMP- bzw. LAMP-Ordner besitzen und Ihr Apa-che gestartet ist.

Das erste Programm

Bei der Vorstellung einer neuen Programmiersprache ist es üblich, mit einem einfachen Programm zu beginnen.

Programm eingeben

Öffnen Sie dazu einen Editor Ihrer Wahl (z.B. Phase 5) und tippen Sie den untenstehenden Quelltext ein. Verwenden Sie dafür drei Zeilen und rücken Sie die mittlere Zeile durch zwei Leerzeichen nach rechts ein.

<?php echo "Ihr erstes php-Programm meldet sich!";?>

Jedes php-Programm beginnt mit einem öffnenden Tag <?php und endet mit einem schließenden Tag ?>. Dazwischen befi n-det sich die php-Anweisung echo "Ihr erstes php-Programm meldet sich!", die mit einem Semikolon abgeschlossen wird.

Es ist manchmal wie auch in diesem Fall möglich (da sofort das schließende Tag ?> kommt), das Semikolon wegzulassen. Dieser Stil ist allerdings nicht „sauber“ und würde, wenn Sie in der nächsten Zeile noch eine zweite php-Anweisung ein-geben sollten, zu einer Fehlermeldung führen. Also schließen Sie am besten jede php-Anweisung mit einem Semikolon ab.

7542.indb 237542.indb 23 04.05.2011 12:40:3804.05.2011 12:40:38

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 5: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

24 Lernen 1: Einführung in PHP

Einrückungen durch Leerzeichen oder Tabulatoren erhö-hen die Lesbarkeit insbesondere größerer php-Programme ungemein und erleichtern auch eine vielleicht notwendig werdende Fehlersuche. Je strukturierter Sie von vornhe-rein programmieren, desto weniger Korrekturen müssen Sie an einem Programm am Ende vornehmen.

Bleiben Sie also am besten bei der im Beispiel gezeigten Schreibweise, da sie am häufi gsten zur Anwendung kommt.

Von der kürzesten Schreibweise ist abzuraten, da sie nicht XML-konform ist:

<?="Ihr erstes php-Programm meldet sich!"?>

Neben weiteren mehr oder weniger kurzen Schreibweisen existiert auch eine längere für dieses Programm, die eher sel-ten benutzt wird:

<script language="php"> echo "Ihr erstes php-Programm meldet sich!";</script>

Wenn Sie andere Schreibweisen wie <? php ... ?> oder <% ... %> verwenden möchten, erfordert das Änderun-gen in der Datei php.ini!

Programm speichern

Im nächsten Schritt müssen Sie Ihr erstes Programm spei-chern. Beschrieben wird hier die Vorgehensweise für XAMPP (WAMP-Ordner). Sollten Sie mit Linux arbeiten oder statt des Apache z.B. den Internet Information Server (IIS) benutzen, ist die Vorgehensweise etwas anders. In jedem Fall müssen Sie die php-Datei im document_root-Verzeichnis Ihres Webser-vers speichern. Im Folgenden wird nur der Vorgang für den Apache beschrieben.

7542.indb 247542.indb 24 04.05.2011 12:40:3804.05.2011 12:40:38

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 6: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 25

Im folgenden Bild sehen Sie eine mögliche Ordnerstruktur. Direkt unter C: liegt der Ordner XAMPP. Darin enthalten ist ein Ordner htdocs. Legen Sie hier einen Ordner PHP-Buch an. In diesem Ordner können Sie alle Beispielprogramme dieses Buches abspeichern.

Abb. L1.1: Mögliche Ordnerstruktur

Es ist auch möglich, die Dateien direkt im Ordner htdocs zu speichern, wovon Sie allerdings Abstand nehmen sollten. Je mehr php-Programme Sie schreiben und dort speichern, de-sto schneller verlieren Sie den Überblick, welche php-Datei am Ende zu welchem Programm gehört.

Wählen Sie nun in Ihrem Editor unter dem Menüpunkt Datei den Befehl Speichern unter. Tragen Sie als Dateinamen z.B. PRG_1_1_programm1 ein. Vergessen Sie keinesfalls, auch die Endung .php anzuhängen, da der Editor ansonsten von einer HTML-Seite ausgeht und automatisch .html ergänzt. Achten Sie darauf, dass die Datei auch wirklich im Ordner PHP-Buch gespeichert wird (siehe Abbildung L1.2).

Öffnen Sie nun Ihren Browser und geben Sie dort die folgen-de URL ein:

http://localhost/PHP-Buch/PRG_1_1_programm1.php

Die URL besteht aus Ihrer Serveradresse (localhost bzw. 127.0.0.1), dem Ordner PHP-Buch und dem vollständigen Da-teinamen; alles jeweils durch einen Schrägstrich (/) voneinan-der getrennt.

7542.indb 257542.indb 25 04.05.2011 12:40:3804.05.2011 12:40:38

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 7: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

26 Lernen 1: Einführung in PHP

Abb. L1.2: Erstes Programm speichern

Nachdem Sie die Eingabetaste gedrückt haben, begrüßt Sie Ihr erstes php-Programm mit der Botschaft „Ihr erstes php-Programm meldet sich!“.

Kommentare

PHP kennt verschiedene Möglichkeiten, Kommentare einzufü-gen. Sinnvoll ist der Einsatz von Kommentaren, wenn Sie z.B. Ihren Quelltext auch anderen Personen zur Verfügung stellen wollen, damit diese sich leichter darin zurechtfi nden, oder da-mit Sie selbst bei längeren Programmen nicht den Überblick verlieren.

Kommentare sind in PHP in ein- oder mehrzeiliger Form mög-lich. Im nächsten Quelltext kommen fast alle Kommentare zur Anwendung, die PHP kennt:

7542.indb 267542.indb 26 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 8: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 27

<?php print "Der einzeilige Kommentar mit //"; // einzeiliger Kommentar

print "Das geht auch!"; // einzeiliger Kommentar

print "Der einzeilige Kommentar mit #"; # einzeiliger Kommentar

print "Der mehrzeilige Kommentar mit /* ... */"; /* Wenn ein längerer Kommentar notwendig wird, so kann dieser auch über mehrere Zeilen gehen! */?>

Auf die Bildschirmausgabe zu diesem Programm können Sie verzichten, sie macht wenig Sinn. Der Quelltext soll nur dazu dienen, Ihnen die verschiedenen Möglichkeiten zum Einsatz von Kommentaren aufzuzeigen.

Anstelle der Anweisung print() können Sie auch die Anwei-sung echo() benutzen. Texte, die hinter einem Kommentar stehen oder darin eingeschlossen sind (mehrzeiliger Kom-mentar), werden bei der Ausführung eines php-Programms vom Parser übergangen.

Kommentare können praktisch an jeder Stelle eines Quelltex-tes stehen. Bedenken Sie aber, dass nach einzeiligen Kom-mentaren in einer Zeile keine Anweisung mehr folgen darf, da diese sonst als Kommentar interpretiert wird:

<?php // einzeiliger Kommentar print "Das geht nicht!";?>

Um diese Anweisung dennoch ausführen zu können, müssen Sie das Beispiel so schreiben:

<?php /* einzeiliger Kommentar */ print "Das geht!";?>

Dieser Stil ist allerdings nicht „sauber“, verzichten Sie deshalb lieber auf einen Kommentar in dieser Form.

7542.indb 277542.indb 27 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 9: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

28 Lernen 1: Einführung in PHP

Kommentare mit Heredoc und Nowdoc

Angenommen, Sie möchten einen mehrzeiligen Kommentar schreiben, der Variablen und ausführbaren HTML-Code ent-halten soll. Wenn Sie dann noch fordern, dass die Variablen als Variablennamen und nicht ersetzt durch ihre Werte aus-gegeben werden sollen, dann haben Sie entweder sehr viel Tipparbeit (durch massiven Einsatz des Rückstriches zur Un-terdrückung eines Sonderzeichens) vor sich oder Sie benut-zen gleich die Heredoc-Syntax. Das Gegenstück dazu bildet die Nowdoc-Syntax.

Mehr Informationen über Variablen erhalten Sie im folgen-den Abschnitt sowie in Kapitel L3, „Datentypen und inter-ne Funktionen“, mehr über HTML-Code in Kapitel L2, „PHP und HTML“!

Beide Syntaxen weisen viele Gemeinsamkeiten auf. Sie be-ginnen mit drei spitzen Klammern (<<<), unmittelbar gefolgt vom Delimiter (Abgrenzer). Der Delimiter ist ein frei wählba-res Wort (z.B. NAME), vorausgesetzt, es kommt nirgendwo im Kommentartext vor, und danach folgt sofort ein Zeilen-umbruch. In den nächsten Zeilen steht der eigentliche Kom-mentar, der auch einfache bzw. doppelte Anführungszeichen, Zeilenumbrüche oder Leerzeichen enthalten darf. Das Kom-mentarende markiert erneut ein Delimiter, der aber zwingend am Anfang einer neuen Zeile stehen muss und dem ein ab-schließendes Semikolon folgt.

Heredoc- und Nowdoc-Syntax unterscheiden sich in ihrer Schreibweise und Wirkung. Der Delimiter der Heredoc-Syn-tax kann in doppelten Anführungszeichen stehen, muss es aber nicht. Der Delimiter der Nowdoc-Syntax muss dagegen in einfachen Anführungszeichen stehen. Dieser „feine“ Unter-schied führt dazu, dass bei der Heredoc-Syntax Variablen ge-parst, d.h. durch ihre Werte ersetzt werden, bei der Nowdoc-Syntax aber nicht.

7542.indb 287542.indb 28 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 10: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 29

Ein einfaches Beispiel in Heredoc-Syntax:

<?php $variable1 = 'PHP'; // Der Delimiter KOMMENTAR kann in doppelten Anführungszei-chen stehen. $text1 = <<<"KOMMENTAR" Hier steht mehrzeiliger Text. Variable 1 hat den Wert $variable1. (Der Variablenname wurde durch seinen Wert ersetzt.)KOMMENTAR; // Der abschließende Delimiter (in der Zeile zuvor) muss am Zeilenanfang stehen. echo $text1;?>

Das gleiche Beispiel in Nowdoc-Syntax:

<?php $variable2 = 'PHP'; // Der Delimiter KOMMENTAR muss in einfachen Anführungszei-chen stehen. $text2 = <<<'KOMMENTAR' Hier steht mehrzeiliger Text. Variable 2 hat den Namen $variable2. (Der Variablenname wurde nicht durch seinen Wert ersetzt.)KOMMENTAR; // Der abschließende Delimiter (in der Zeile zuvor) muss am Zeilenanfang stehen. echo $text2;?>

Innerhalb des Delimiters können bei beiden Syntaxen belie-big viele einfache und doppelte Anführungszeichen stehen, die dann als normaler Text dargestellt werden. HTML-Code (z.B. <br>) wird dagegen normal ausgeführt.

7542.indb 297542.indb 29 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 11: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

30 Lernen 1: Einführung in PHP

Abb. L1.3: Mögliche Bildschirmausgabe in Heredoc- und Nowdoc-Syntax

Variablen und Datentypen

Variablen zählen zu den wichtigsten Bestandteilen eines Pro-grammes. Wenn Sie einer Variablen einen Wert zuweisen, wird der dafür benötigte Speicherplatz reserviert. Alle Werte, die Sie einer Variablen zuweisen, haben normalerweise „vor-übergehenden Charakter“, d.h. diese Werte könnten jederzeit durch eine erneute Zuweisung verändert werden.

Weitere Informationen über Variablen – insbesondere über den Datentyp String – und alle von PHP verwandten Da-tentypen bekommen Sie in Kapitel L3, „Datentypen und interne Funktionen“.

Dazu ein einfaches Beispiel:

<?php // $text ist eine Variable $text = "Das ist PHP! "; echo $text; // $text erhält einen neuen Wert $text = "PHP ist einfach!"; echo $text;?>

Variablennamen werden in PHP durch ein vorangestelltes Dollarzeichen ($) gekennzeichnet. Variablennamen dürfen nur aus Zeichen, Ziffern und dem Unterstrich (_) bestehen.

7542.indb 307542.indb 30 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 12: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 31

Der Wert einer Variablen kann z.B. ein Text (wie in diesem Fall) oder eine Zahl sein. Jede Variable sollte, wenn Sie PHP 5.3 (oder eine höhere Version) verwenden, vor ihrer Verwendung initialisiert werden. Das Gleichheitszeichen (=) weist einer Va-riablen den Wert zu.

Im Gegensatz zu Programmiersprachen wie C oder Java muss in PHP kein Datentyp festgelegt werden. PHP ordnet einer Va-riablen zur Laufzeit einfach den Datentyp zu, der ihrem Wert entspricht. Schreiben Sie z.B. $zahl_1=5;, so erhält diese Va-riable automatisch den Datentyp Integer.

Die folgende Tabelle zeigt die von PHP unterstützten primiti-ven Datentypen:

Datentyp Bedeutung und BeispielInteger Zuweisung einer ganzen Zahl: $ganze_zahl = 5; (Inte-

ger in dezimaler Notation Basis 10)

Oktalzahl Zuweisung einer Oktalzahl: $oktal = 0123; (Hinweis: Die Bildschirmausgabe erfolgt im Dezimalsystem!); Ok-talzahlen beginnen mit 0 (Integer in oktaler Notation Basis 8).

Hexadezimalzahl Zuweisung einer Hexadezimalzahl: $hexzahl = 0x123; (Hinweis: Die Bildschirmausgabe erfolgt im Dezimalsy-stem!); Hexadezimalzahlen beginnen mit 0x (Integer in hexadezimaler Notation Basis 16).

Double Zuweisung einer Fließkommazahl: $zahl = 4.5; (Wichtig: Nachkommastellen müssen mit einem Punkt statt einem Komma geschrieben werden!)

String Zuweisung eines Textes: $text = "Das ist ein Text!"; (Wichtig: Strings bzw. Texte müssen in Anfüh-rungszeichen stehen!)

Boolean Zuweisung eines Zustands: $wert = true; oder $wert =false; sind möglich!

Tab. L1.1: Primitive Datentypen

7542.indb 317542.indb 31 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 13: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

32 Lernen 1: Einführung in PHP

Kleiner Exkurs zu Zahlensystemen

Beispiel für eine Oktalzahl:

<?php // $oktal (Oktalzahl zuweisen) $oktal=0123; echo $oktal;

// Die Wertausgabe erfolgt im Dezimalsystem! // Rechnung: 0*8³+1*8²+2*81+3*80 = 83?>

Beispiel für eine Hexadezimalzahl:

<?php // $hexzahl (Hexadezimalzahl zuweisen) $hexzahl =0x123; echo $hexzahl;

// Die Wertausgabe erfolgt im Dezimalsystem! // Rechnung: 1*16²+2*161+3*160 = 291?>

Auf Zahlensysteme, die vom Dezimalsystem abweichen, wird im weiteren Verlauf dieses Buches nicht mehr ein-gegangen. Ziehen Sie also im Bedarfsfall entsprechende Fachliteratur zurate!

Variablen und Sonderzeichen ausgeben

Mit den Anweisungen echo() oder print() können Sie auch Zeichenketten ausgeben. Was Sie bisher schon kennen, ist eine einfache Bildschirmausgabe. An dieser Stelle werden Sie die Ausgabe erweitern. Der folgende Quelltext zeigt Ih-nen drei Möglichkeiten zur Ausgabe von Variablen bzw. ihres Wertes:

7542.indb 327542.indb 32 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 14: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 33

<?php $zahl = 7;

// den Wert einer Variablen ausgeben echo "Aktuell ist Ihre Zahl die $zahl. "; // die Variable selbst ausgeben echo 'Aktuell ist Ihre Variable die $zahl. ';

// ein Sonderzeichen ($) ausgeben echo "So geht es auch: Ihre Variable ist \$zahl.";

// statt echo() kann auch print() verwendet werden!?>

Die erste Anweisung ersetzt $zahl bei der Ausgabe durch den Wert 7. Wenn Sie allerdings nicht den Wert, sondern die Va-riable selbst ausgeben möchten, müssen Sie anstelle der An-führungszeichen ("") die Anweisung in einfache Anführungs-zeichen ('') setzen, wie es in der zweiten echo()-Anweisung gemacht wird. Die gleiche Ausgabe erhalten Sie, wenn Sie vor dem Dollarzeichen ($) einen Rückstrich (\) einfügen, um PHP so zu signalisieren, dass das folgende Zeichen seine Sonderstellung verliert. Das sehen Sie in der dritten echo()-Anweisung.

Sonderzeichen, die Sie bei einer Bildschirmausgabe mit ei-nem vorangestellten Rückstrich (\) versehen müssen, sind die doppelten Anführungszeichen (""), das Dollarzeichen ($) und der Rückstrich (\) selbst.

Bei Verwendung innerhalb des Delimiters der Heredoc- oder Nowdoc-Syntax gelten doppelte Anführungszeichen nicht als Sonderzeichen!

7542.indb 337542.indb 33 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 15: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

34 Lernen 1: Einführung in PHP

Arrays

Arrays sind Datenfelder, die mehrere Elemente (Daten bzw. Werte) enthalten können. Anders gesagt handelt es sich um spezielle Variablen, zu denen es mehrere Werte geben kann. Ein Array beginnt genau wie eine Variable mit einem Dollar-zeichen ($). Danach folgt der Name des Arrays und im An-schluss daran der Index (Nummer des Elements) in eckigen Klammern.

Unterschieden wird zwischen Arrays in Form einer Liste, as-soziativen und mehrdimensionalen Arrays.

Ein einfaches Array

Die Syntax lautet:

$arrayname[Index] = "Wert1";

Ein Beispiel für ein einfaches Array mit nur wenigen Elemen-ten:

<?php $vorname[0] = "Peter"; $vorname[1] = "Michael"; $vorname[2] = "Robert"; // die Elemente des Arrays einzeln ausgeben print $vorname[0]; print $vorname[1]; print $vorname[2];?>

Mithilfe der Anweisung print() oder echo() können Sie die Elemente eines Arrays einzeln ausgeben. Beachten Sie dabei unbedingt, dass Sie hinter dem Namen des Arrays $vorname die eckigen Klammen und darin enthalten die Nummer des Elementes (Index) angeben. Eine Ausgabe wie print $vorna-me; funktioniert bei einem Array nicht.

7542.indb 347542.indb 34 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 16: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 35

Ein Array mit drei Elementen hat die Indizes 0, 1 und 2. Ein Array beginnt immer mit 0 und nicht – wie sehr häufi g falsch gemacht – mit 1.

Syntax:

$arrayname = array("Wert1","Wert2","Wert3");

Wenn Sie ein Array schreiben wollen, das wesentlich mehr Elemente enthält, empfi ehlt sich eine kürzere Schreibweise für das eben vorgestellte Beispiel:

<?php $vorname = array("Peter","Michael","Robert"); // die Elemente des Arrays einzeln ausgeben print $vorname[0]; print $vorname[1]; print $vorname[2];?>

Elemente eines Arrays zählen

Speziell bei längeren Arrays stellt sich häufi g die Frage, wie viele Elemente tatsächlich in dem Array enthalten sind. Am schnellsten bekommen Sie die Länge eines Arrays heraus, wenn Sie die Funktion count() benutzen:

<?php $vorname = array("Peter","Michael","Robert"); // Elemente des Arrays zählen print count($vorname);?>

Das war schon ein kleiner Vorgriff auf das Kapitel L3, „Daten-typen und interne Funktionen“, wo Sie mehr über Funktionen erfahren werden!

Assoziative Arrays

Bisher haben Sie nur ein Array mit numerischem Index ken-nengelernt. Anstelle von Zahlen können Sie in assoziativen Arrays auch Zeichenketten verwenden. Die einzelnen Indizes

7542.indb 357542.indb 35 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 17: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

36 Lernen 1: Einführung in PHP

eines assoziativen Arrays werden auch als Schlüssel bezeich-net.

Die Syntax lautet:

$arrayname["Schlüssel"] = "Wert1";

Dazu ein einfaches Beispiel aus dem Straßenverkehr (KFZ-Zeichen):

<?php $kfz["GS"] = "Goslar"; $kfz["HH"] = "Hamburg"; $kfz["HB"] = "Bremen"; // einzelnes Element des Arrays ausgeben print $kfz["HH"];?>

Die Syntax der Kurzschreibweise:

$arrayname = array("Schlüssel1" => "Wert1", "Schlüssel2" => "Wert2");

Auch hierfür gibt es eine Kurzschreibweise:

<?php $kfz = array("GS"=>"Goslar", "HH"=>"Hamburg", "HB"=>"Bremen"); // das Array mit allen Elementen ausgeben print_r($kfz);?>

Ein Array lässt sich nicht einfach mit print $arrayname; aus-geben. Wenn Sie stattdessen aber print_r($arrayname); schreiben, werden auch die Elemente des Arrays angezeigt.

Die Deklaration eines Arrays kann in einer, aber auch über mehrere Zeilen erfolgen.

7542.indb 367542.indb 36 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 18: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 37

Mehrdimensionale Arrays

Ein Array kann mehrere Dimensionen haben. In der Praxis trifft man häufi ger auf zweidimensionale Arrays, während drei- oder mehrdimensionale Arrays eher die Ausnahme bil-den. Erstellen Sie doch einmal ein mehrdimensionales asso-ziatives Array $person, das von allen Personen die Vor- und Nachnamen enthält.

Die Syntax mehrdimensionaler Arrays lautet:

$name = array( "Name1" => array( "Name1_1" => "Wert1_1", "Name1_2" => "Wert1_2"), "Name2" => array( "Name2_1" => "Wert2_1", "Name2_2" => "Wert2_2") );

Ein entsprechender Quelltext dazu sieht folgendermaßen aus:

<?php $person = array( "Person1" => array( "Vorname" => "Peter", "Nachname" => "Weber"), "Person2" => array( "Vorname" => "Michael", "Nachname" => "Koch"), "Person3" => array( "Vorname" => "Robert", "Nachname" => "Wagner") ); // den Vornamen der dritten Person ausgeben echo $person["Person3"]["Vorname"];?>

Beachten Sie bitte, dass PHP bei den Schlüsseln einen Un-terschied zwischen Groß- und Kleinschreibung macht! Ein Beispiel: „name“ ist hier nicht gleich “Name“.

7542.indb 377542.indb 37 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 19: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

38 Lernen 1: Einführung in PHP

Konstanten

Konstanten sind Variablen sehr ähnlich und können eben-falls zur Laufzeit festgelegt werden. Im Gegensatz zu Variab-len kann das nur einmal geschehen, ihre Werte sind danach unver änderbar. Konstanten erzeugen Sie mit der Funktion defi ne():

Die Syntax lautet:

defi ne ("NAME", Wert);

Zuerst kommt der Name der Konstanten, dann folgt ihr Wert. Der Wert kann eine Zahl oder Zeichenkette sein. Dazu ein Zah-lenbeispiel:

<?php defi ne("ZAHL",2); // die Konstante ZAHL ausgeben echo "Wert der Konstanten: "; // auch möglich: echo (ZAHL); echo ZAHL;?>

Konstanten werden eher selten verwendet, da ihre Defi nition relativ aufwendig ist. Meist gibt man Variablen den Vorzug.

Magische Konstanten

Des Weiteren kennt PHP (derzeit) sieben magische Konstan-ten, die nur in Erweiterungen, zur Laufzeit und an bestimmten Einsatzorten zur Verfügung stehen. In der folgenden Tabelle fi nden Sie diese samt ihrer Ausgabewerte:

Konstante Ausgabewert

__CLASS__ enthält den Namen der sie verwendenden Klasse

__DIR__ gibt den Pfad (ohne den Dateinamen) zurück

__FILE__ gibt (mittlerweile) den absoluten Pfad der aktuellen Datei zurück

7542.indb 387542.indb 38 04.05.2011 12:40:3904.05.2011 12:40:39

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 20: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 39

Konstante Ausgabewert

__FUNCTION__ enthält den Namen der sie verwendenden Funktion

__LINE__ gibt die Zeilennummer zurück, in welcher der Parser steht

__METHOD__ enthält den sie verwendenden Namen der Klasse und Methode

__NAMESPACE__ gibt den sie verwendenden Namensraum zurück

Tab. L1.2: Magische Konstanten

Vordefi nierte Konstanten

Darüber hinaus gibt es eine Vielzahl vordefi nierter Konstan-ten. Die folgende Tabelle enthält eine kleine Auswahl dieser Konstanten samt ihrer Bedeutung:

Konstante Bedeutung

E_DEPRECATED warnt vor Code, der zukünftig veraltet sein wird

E_USER_ DEPRECATED

durch die Funktion trigger_error() erzeugte Warn-meldung

PHP_MAXPATHLEN gibt die Zeichenanzahl zurück, die ein Dateipfad enthalten kann

PHP_VERSION gibt die Nummer der verwendeten PHP-Version zurück

PHP_OS ermittelt das verwendete Betriebssystem

Tab. L1.3: Auswahl der vordefi nierten Konstanten

Operatoren

Um mit Variablen, Konstanten oder Arrays arbeiten zu kön-nen, benötigen Sie Operatoren. Mit ihrer Hilfe ist es möglich, Werte zuzuweisen, Werte zu verändern oder Werte miteinan-der zu vergleichen.

7542.indb 397542.indb 39 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 21: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

40 Lernen 1: Einführung in PHP

Zuweisungsoperator

Vielleicht ist es Ihnen noch gar nicht so aufgefallen, aber den wichtigsten Operator, den Zuweisungsoperator (=), haben Sie längst kennengelernt:

$zahl = 10;

Links steht die Variable, in der Mitte der Operator und rechts der Wert, der der Variablen zugewiesen werden soll. In die-sem Beispiel erhält die Variable $zahl also den Wert 10 zuge-wiesen.

Neben der Möglichkeit, einer Variablen eine Zahl oder Zei-chenkette zuzuweisen, können Sie einer Variablen auch eine andere Variable zuordnen:

$x = $y;

In diesem Fall nimmt die Variable $x den Wert der Variablen $y an.

Der Zuweisungsoperator lässt sich natürlich auch mit einer Vielzahl anderer Operatoren kombinieren, wie Sie gleich se-hen werden.

Punktoperator

Dieser Operator dient u.a. zur Kombination von Zeichenket-ten. In anderen Programmiersprachen (z.B. Java) wird dazu ein Pluszeichen (+) verwendet, in PHP übernimmt dieses Auf-gabe der Punktoperator (.).

Mithilfe des Punktoperators lässt sich das Beispiel aus dem Abschnitt „Konstanten“ noch kürzer schreiben:

<?php defi ne("ZAHL",2); // statt ZAHL ist auch (ZAHL) möglich echo "Wert der Konstanten: ".ZAHL;?>

7542.indb 407542.indb 40 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 22: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 41

An die Zeichenkette "Wert der Konstanten: " wird bei der Ausgabe der Wert der Konstanten ZAHL angehängt.

Das Aneinanderhängen von Zeichenketten oder die Kom-bination einer Zeichenkette mit einer Konstanten oder Vari-ablen wird auch als Konkatenation, der Vorgang an sich als Konkatenieren bezeichnet.

Wie hilfreich das Konkatenieren sein kann, verdeutlicht ein weiteres Beispiel:

<?php $text1 = "Verbinden Sie doch einfach "; $text2 = "zwei Texte miteinander!"; $text = $text1.$text2; echo $text;?>

Wenn Sie das Beispiel leicht verändern, sparen Sie eine Va-riable ein:

<?php $text1 = "Verbinden Sie doch einfach "; $text2 = "zwei Texte miteinander!"; echo $text1.$text2;?>

Zu empfehlen ist folgende Schreibweise, die sich hervorra-gend für den Druck eines Quelltextes eignet und auch im Edi-tor leicht nachzuvollziehen ist:

<?php $text = "Verbinden Sie doch einfach "; $text .= "zwei Texte miteinander!"; echo $text;?>

Mit nur einer Variablen können Sie beliebig viele Zeichenket-ten konkatenieren.

7542.indb 417542.indb 41 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 23: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

42 Lernen 1: Einführung in PHP

Arithmetische Operatoren

PHP kennt neben den gängigen Grundrechenarten (Addition, Subtraktion, Multiplikation und Division) das Inkrementieren bzw. Dekrementieren von Variablen und den Modulo-Ope-rator.

Die Grundrechenarten

Neben der normalen Schreibweise, die Sie sicherlich (noch) aus der Schule kennen, gibt es auch Kurzschreibweisen. Um z.B. zwei Variablen zu addieren oder eine um einen bestimm-ten Wert zu erhöhen, gehen Sie so vor:

<?php $zahl = 15; $dazu = 3; //eine einfache Addition $ergebnis = $zahl + $dazu; echo $ergebnis;?>

In diesem Fall werden Operanden ($zahl und $dazu) mittels eines arithmetischen Operators (+) addiert.

Kürzer lässt sich so ein Beispiel schreiben, wenn Sie nur die Variable $zahl haben und diese um den Wert 3 erhöhen möchten:

<?php $zahl = 15; $zahl = $zahl + 3; echo $zahl;?>

Da Programmierer sich gern ein wenig Tipparbeit ersparen, kennt PHP auch eine extrem kurze Schreibweise für dieses Beispiel:

<?php $zahl = 15; $zahl += 3;

7542.indb 427542.indb 42 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 24: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 43

echo $zahl;?>

Die gleiche Schreibweise gilt natürlich für alle Grundrechen-arten, einzig und allein der verwendete Operator wechselt.

Inkrementieren und Dekrementieren

Das Inkrementieren (Erhöhen) bzw. Dekrementieren (Vermin-dern) einer Variablen ist im Prinzip die Addition bzw. Subtrak-tion des Wertes 1 zu bzw. von einer Variablen. Beim Inkre-mentieren können Sie anstelle von $zahl += 1 auch $zahl ++ schreiben. Gleiches gilt für das Dekrementieren einer Variab-len, nur das hier $zahl -= 1 bzw. $zahl -- stehen kann.

Der Modulo-Operator

Eine normale Division kann eine ganze Zahl oder eine Fließ-kommazahl zum Ergebnis haben. Modulo (%) ist eine Sonder-form der Division. Sie fi ndet nur bei ganzzahliger Division An-wendung. Das Ergebnis ist der nichtteilbare Rest der eigent-lichen Division. Am leichtesten verstehen Sie dies anhand eines Beispiels:

<?php $zahl1 = 15; $zahl2 = 3; //eine Division mit dem Modulo-Operator $ergebnis = $zahl1 % $zahl2; echo $ergebnis;?>

Falls Sie als Ergebnis 5 erwartet haben, so haben Sie das Prinzip noch nicht verstanden. Das Ergebnis 0 – besser ge-sagt Rest 0 – ist korrekt. Setzen Sie doch einfach den Wert für $zahl1 auf 14, dann verstehen Sie es gleich besser.

Das Ergebnis ist 2, und auch das stimmt. Eine normale Divi-sion 14 / 3 hat 4,66666666667 zum Ergebnis. 14 können Sie aber auch als 4*3+2 defi nieren. Modulo liefert Ihnen also den

7542.indb 437542.indb 43 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 25: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

44 Lernen 1: Einführung in PHP

nichtteilbaren Rest, also in diesem Falle die 2, als Ergebnis zurück.

Der Modulo-Operator ist weitaus wichtiger, als Sie es viel-leicht zu diesem Zeitpunkt glauben mögen. Spätestens wenn Sie ihn einmal bei komplizierten Fallunterscheidungen brau-chen, werden Sie froh sein, dass es den Modulo-Operator gibt.

In der folgenden Tabelle fi nden Sie alle arithmetischen Opera-toren mit ihrer Syntax und Bedeutung ($x = 15 und $y = 3):

Operator Bedeutung Syntax Kurzform Beispiel

+ Addition $x = $x + $y; $x += $y; 15 + 3 = 18

- Subtraktion $x = $x - $y; $x -= $y; 15 - 3 = 12

* Multiplikation $x = $x * $y; $x *= $y; 15 * 3 = 45

/ Division $x = $x / $y; $x /= $y; 15 / 3 = 5

+1 Inkrement $x = $x + 1; $x ++; 15 + 1 = 16

-1 Dekrement $x = $x - 1; $x --; 15 - 1 = 14

% Modulo $x = $x % $y; $x %= $y; 15 % 3 = 0

Tab. L1.4: Arithmetische Operatoren

Logische Operatoren

Das Ergebnis eines logischen Operators – auch boolescher Wert oder Wahrheitswert genannt – kann entweder true (wahr) oder false (falsch) sein. Leider lässt sich das Ergebnis eines logischen Operators nicht einfach wie der Wert einer Variablen ausgeben.

Sie müssen sich schon eines Tricks (einer zweiten Variablen $wert) bedienen, um tatsächlich true oder false als Bildschir-mausgabe zu erhalten. Tippen Sie dazu einfach einmal das folgende Beispiel (mit notwendiger Fallunterscheidung, siehe Abschnitt „Fallunterscheidungen“ in Kapitel A1, „Einsetzen von Fallunterscheidungen und Schleifen“) ab:

7542.indb 447542.indb 44 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 26: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 45

<?php $zahl = 7; // Bedingung: 5 < $zahl < 9 if ($zahl > 5 && $zahl < 9) { $wert = "true"; } else { $wert = "false"; } echo $wert;?>Ihre Variable $zahl hat den Wert 7. Sie haben zur Bedingung gemacht, dass die Variable $wert true ist, wenn $zahl größer als 5 und kleiner als 9 ist, was hier der Fall ist. Geschrieben wird so etwas in der Form $zahl>5 && $zahl<9, wobei sie an-statt von && auch einfach and schreiben können.

Sollte der Wert von $zahl 5 oder kleiner bzw. 9 oder größer sein, wird für $wert false ausgegeben. Um das nachvollziehen zu können, ändern Sie einfach einmal den Wert der Variablen $zahl.

In der folgenden Tabelle fi nden Sie alle logischen Operatoren samt ihrer Bedeutung, wobei der Pfeil () für „liefert als Er-gebnis“ steht:

Operator Bedeutung Beispiel

&& bzw. and logisches UND true && false bzw. true and false false

|| bzw. or logisches ODER true || false bzw. true or false true

Xor entweder – oder true xor false true

! Negation (Verneinung) !(false) true

Tab. L1.5: Logische Operatoren

7542.indb 457542.indb 45 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 27: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

46 Lernen 1: Einführung in PHP

Vergleichsoperatoren

Grundlage für die eben vorgestellten logischen Operatoren sind häufi g Vergleichoperatoren. Wenn Sie z.B. $x < 5; schrei-ben und x z.B. in einer Schleife fortlaufend erhöht wird, so ist diese Aussage solange wahr, bis $x den Wert 5 oder größer annimmt. Danach ist die Aussage falsch. Dazu ein kleines Bei-spiel: 4<5 ist true, 6<5 hingegen ist false.

Wie man Zahlen miteinander vergleicht, können Sie sich si-cherlich vorstellen. Auf die gleiche Art und Weise können Sie auch zwei Zeichenketten miteinander vergleichen.

Um das zu veranschaulichen, ändern Sie das eben vorgestell-te Beispiel mit dem logischen Operator ein wenig ab:

<?php $text1 = "Hallo"; $text2 = "Hello"; // Vergleich zweier Zeichenketten if ($text1 == $text2) { $wert = "true"; } else { $wert = "false"; } echo $wert;?>

Als Ergebnis kommt false heraus, denn die beiden Zeichen-ketten sind nicht gleich. Beachten Sie bitte, dass PHP bei Vergleichen auch auf Groß- und Kleinschreibung achtet und somit ein Vergleich der Zeichenketten "Hallo" und "hallo" ebenfalls false zum Ergebnis hat. Nur bei einer echten Über-einstimmung ist das Ergebnis true.

In der folgenden Tabelle fi nden Sie die verschiedenen Ver-gleichsoperatoren samt ihrer Bedeutung, wobei der Pfeil () wieder für „liefert als Ergebnis“ steht:

7542.indb 467542.indb 46 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542

Page 28: PHP 5 - hjr-verlag.de · 2011. 12. 24. · Regalsystematik: Programmierung ISBN 978-3-8266-7542-3ISBN 978-3-8266-7542-3 (D) € 14,95 Probekapitel & Infos erhalten Sie unter: info@bhv-buch.de

Lernen 1: Einführung in PHP 47

Operator Bedeutung Beispiele für true oder false

== gleich „a“ == „A“ false bzw. 3 == 3 true

=== genau gleich 4 === „4“ false bzw. „b“ === „b“ true

!= bzw. <> ungleich 3 != 4 true bzw. „A“ != „A“ false

!== nicht genau gleich 2 !== „2“ true bzw. „b“ !== „b“ false

> größer als „B“ > „A“ true bzw. 4 > 5 false

< kleiner als 2 < 3 true bzw. „B“ < „A“ false

>= größer gleich 6 >= 6 true bzw. „A“ >= „B“ false

<= kleiner gleich „A“ <= „B“ true bzw. 7 <= 6 false

Tab. L1.6: Vergleichsoperatoren

Das Gleichheitszeichen (=) allein ist ein Zuweisungsope-rator und darf nicht zu Vergleichen herangezogen werden. Wenn Sie einen Vergleich anstellen wollen, müssen Sie das doppelte Gleichheitszeichen verwenden (==)! Das dreifache Gleichheitszeichen (===) prüft, ob die Werte zweier Variablen gleich und beide Variablen vom gleichen Typ (d.h. identisch) sind.

7542.indb 477542.indb 47 04.05.2011 12:40:4004.05.2011 12:40:40

© des Titels »PHP 5.3« (ISBN 978-3-8266-7542-3) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.bhv-buch.de/7542