. .

Suchandt.de Blog

I love PHP – 2. Variablen

Im letzten Artikel haben wir die Grundlagen für das Programmieren von PHP-Skripten gelegt und unser erstes kleines PHP-Skript geschrieben. Jetzt können wir durchstarten und anfangen richtig zu programmieren. Heute lernen wir das wichtigste Element einer Programmiersprache kennen: Variablen. Dieses Element ist grundlegend für jede Programmiersprache, d.h. wer diese beherrscht, beherrscht diese semantisch und logisch auch in anderen Programmiersprachen.

Wir sind VARiabel

Um mit Informationen zu arbeiten, sie darzustellen oder mit ihnen zu rechnen brauchen wir Variablen. Es sind Platzhalter für Informationen die einen Namen besitzen. Eine Variable ist im PHP immer mit einem Dollarzeichen $ gekennzeichnet. Um einer Variablen einen Wert zuzuweisen, nutzen wir das Gleichheitszeichen. Wie jeden Befehl in PHP müssen die Variablenzuweisung mit einem Semikolon beenden.

$zahl = 23; // das ist ein Kommentar

Wie auch in Mathe können diese unterschiedliche Werte aufnehmen, immer wieder verändert werden oder auch unbekannt sein. In PHP gibt Variablen unterschiedlichster Art. In unserem Beispiel nimmt die Variable mit dem namen zahl den Zahlenwert 23 an (nebenbei schreibe ich immer wieder Kommentare in den Quellcode, die über Doppelslash eingeleitet werden und nur über eine Zeile gehen). Ganzzahlwerte werden dabei mit Integer bezeichnet. PHP besitzt den Vorteil, dass man den Variablentyp nicht explizit angeben muss, sondern dieser sich automatisch nach dem Wert richtet.

1
2
3
4
5
$ganzzahl = 12; // Integer
$gleitkommazahl = 12.3; // Float
$wahrheitswert = true // Boolean
$nichts;
$zeichenkette = 'Ich bin eine Zeichenkette'; // String

Ich denke Integer und Float sind selbsterklärend. Boolean (Zeile 3) ist ein besonderer Datentyp der nur zwei unterschiedliche Werte annehmen kann: true und false (also wahr oder falsch). Auch mit Integer-Variablen lassen sich Wahrheitswerte ausdrücken. Diese entsprechen dann 0 für false und alles andere für true.

Wie ich bereits sagte, bestimmen die Werte den Variablentyp. Es ist aber auch möglich Variablen ohne einen Wert zu erstellen (zu initiieren). Doch welcher Typ ist diese Variable dann? Dieser Typ nennt sich NULL und besitzt den Wert NULL. Null ist gleichbedeutend mit einer nicht existenden Variable.

Der Variablentyp String (Zeile 4) eigentlich auch selbsterklärend, hat aber eine kleine Besonderheit: Zeichenketten können sowohl mit einfachen Anführungszeichen, also auch mit doppelten Anführungszeichen markiert werden. Grund dafür ist zum einen, dass z.B. HTML-Attribute auch mit Anführungszeichen markiert sind und diese sonst zu einem ungewollten Abbruch des Strings führen können. Zum anderen werden, wenn der String in doppelten Anführungszeichen ist, Variablen innerhalb des String automatisch ersetzt. Das ganze sieht dann so aus:

1
2
3
$auto = 'Seat Ibiza';
$zeichenkette = "Das ist mein $auto"; // Das ist mein Seat Ibiza
$zeichenkette2 = 'Das ist mein <span class="markup">$auto</span>'; // In diesem String wird die Variable $auto nicht ersetzt

Nun haben wir einfache Variablen kennengelernt. Wenn man aber verschiedene Variablen in einer Gruppe haben möchte, führt kein Weg an sogenannten Arrays (Feldvariablen) vorbei. Ein Array ist eine Aufzählung von Variablen und sieht so aus:

1
2
3
$meinArray = array();
$meinArray['text'] = 'ich bin ein String';
$meinArray['zahl'] = 23;

Es werden sozusagen verschiedene Variablen in eine einzige geschrieben, die über einen eindeutigen Index angesprochen werden können. Arrays können in sich beliebig oft verschachtelt werden, was es möglich macht komplexe Strukturen darzustellen. Hier ein Beispiel:

1
2
3
4
5
$auto = array();
$auto['seat'] = array();
$auto['seat']['hersteller_seit'] = 1800;
$auto['opel'] = array();
$auto['opel']['marke1'] = 'insignia';

Jetzt kann man nicht unbedingt davon ausgehen, dass man den Index eines Arrays kennt, d.h. man möchte z.B. eine einfache Liste von Werten.

1
$auto = array('opel', 'seat', 'ford', 'vw');

Bei diesem Array braucht man nicht direkt einen Index anzugeben. Wie kann man nun aber auf ein einzelnes Element des Arrays zugreifen? Beim Erstellen des Arrays wurde jedem Element ein Index zugewiesen. Dieser richtet sich nach der Reihenfolge der Elemente:

1
2
3
echo($auto[0]); // opel
echo($auto[1]); // seat
echo($auto[2]); // ford

Dieses Vorgehen wird dann wichtig, wenn wir Arrays mit Schleifen oder dynamisch verarbeiten. Dazu wird es aber einen Extra-Artikel geben.

Variablen-Arbeit

Damit man mit Variablen nicht nur Daten speichern, sondern auch mit ihnen arbeiten kann, gibt es zahlreiche Operationen und Funktionen. Bei Integer und Float können wir ohne probleme mathematische Funktionen anwenden.

$zahl = 12 + 12; // Addition
$zahl = 3*11; // Multiplikation
$zahl = 15 / 5 // Division

Neben den klassischen mathematischen Operationen gibt es auch noch zwei weitere:

1
2
3
$zahl = 3;
$zahl++; // Inkrement … $zahl = $zahl + 1;
$zahl--; // Dekrement … $zahl = $zahl – 1;

Inkrement und Dekrement sind eigentlich nur Kurzschreibweisen für die in Kommentar befindlichen Variablen-Wertzuweisungen.
Jetzt wissen wir wie man mit Zahlen in PHP rechnet, nur wie kann man mit Zeichenketten rechnen? Zeichenketten lassen sich zumindestens mal addieren, also aneinanderreihen.

1
2
3
4
5
6
$haus = 'Mein Haus';
$klein = ' ist klein';
$kleinesHaus = $haus . $klein;
$kleinerHof = 'Mein Hof' . $klein;
$grossesHaus = $haus . ' ist groß';
$kleinesFeinesHaus = 'Mein Haus' . "$klein aber fein." // Mein Haus ist klein aber fein.

Um zwei Strings bzw. String-Variablen zu verketten wird der Punktoperator verwendet. Dieser ermöglicht beliebig oft Zeichenketten aneinanderzuhängen und funktioniert sogar, wenn man unterschiedliche Anführungszeichen verwendet. Auch hier funktioniert natürlich wieder das automatische Ersetzen von Variablen in doppelten Anführungszeichen.

Jetzt haben wir wiedermal eine Menge gelernt. Im nächste Artikel wird es um Kontrollstrukturen und Schleifen gehen. Bis dahin noch viel Spaß beim programmieren.

Kommentar verfassen

  • Autor: Alexander Datum: 29.11.2010 - 21:21

    hier kann man noch was lehrnen

  • Autor: Banjo Datum: 11.09.2011 - 17:54

    Dag nabbit good stuff you wihppersnaepprs!

Über den Autor

Webdevelopment & Graphicdesign
Suchandt auf Twitter Suchandt auf Facebook Suchandt auf Youtube

Kategorien

Partner