öffentlich
Redaktion Druckversion

PHP lernen (2): Grundlagen der Syntax

Operatoren

Grundlage jeder Programmierung sind bedingte Anweisungen und Schleifen. Diese unterscheiden sich in verschiedenen Programmiersprachen nicht wesentlich. Gebraucht werden sie, wenn Aktionen abhängig von Ereignissen eintreten sollen. Dabei ist eine präzise Betrachtung der einzelnen Ereignisse wichtig. Es müssen Werte berechnet oder miteinander verglichen werden, Aktionen sollen solange ausgeführt werden, wie eine Bedingung wahr ist usw. Um Werte vergleichen zu können, brauchen wir Operatoren, genau genommen Vergleichsoperatoren. Schleifen brauchen häufig Zähler, die hoch- oder heruntergezählt werden sollen. Mit Operatoren beschäftigen wir uns als Erstes. Im Folgeabschnitt kommen wir zu bedingten Anweisungen mit if, else, elseif und switch.

Wir benutzen die Operatoren, um Ausdrücke als Bedingungen einzusetzen. Die Aktionen in den einzelnen Programmteilen werden in Abhängigkeit vom Wahrheitswert dieser Ausdrücke ausgeführt. Sie legen damit unterschiedliche Aktionszweige für Ihr Programm fest.

Im übernächsten Abschnitt folgen Schleifen, die Aktionen in Abhängigkeit vom Wahrheitswert ihrer Bedingungen wiederholen. Schleifen brauchen Sie immer dann, wenn Datensätze oder Listen durchlaufen werden sollen. Also wenn Sie ein Array verarbeiten, eine Datei zeilenweise auslesen oder das Ergebnis einer Datenbankabfrage verarbeiten.

Und dann besprechen wir zum Abschluss der Kontrollstrukturen im Abschnitt Abbruchsteuerung die mächtigen Konstrukte die, exit, AND und OR. Mit ihnen können Programmstrukturen stark gerafft werden. Durch einen geschickten Programmaufbau erreichen Sie eine nennenswerte Performancesteigerung. Anders ausgedrückt: Ist Ihr Programm stark verschachtelt, ist es nicht nur schwer lesbar, sondern auch potentiell langsamer als notwendig.

Operatoren

Zunächst brauchen wir Operatoren, mit denen Vergleiche angestellt oder mathematische Operationen ausgeführt werden können. Dabei ist wichtig, zwischen Zeichenketten und Zahlen zu unterscheiden. Hier die wichtigsten arithmetischen Operatoren in einer Übersicht:

  • Addition:
    $a + $b

  • Subtraktion:
    $a - $b

  • Multiplikation:
    $a * $b

  • Division:
    $a / $b

  • Modulus:
    $a % $b

Die ersten vier dürften geläufig sein. Der fünfte Operator vielleicht nicht: Modulus benennt den Rest der Division. Wenn Sie zum Beispiel 9 durch 4 teilen, kommt 2 heraus, Rest 1. Der Modulus ist also 1.

$c = 9 % 4;                 // $c ist 1

Wofür Sie Modulus u.a. benötigen, erfahren Sie später im Skript.

Dekrement und Inkrement

Zähler werden oft genau um 1 hoch- oder heruntergezählt. Dafür gibt es in den meisten Programmiersprachen wie auch in PHP die De- bzw. Inkrementoperatoren. Um $a um 1 zu erhöhen, kennen wir bisher die Schreibweise:

$a = $a + 1;

Es geht noch kürzer:

$a++;

Hier wird erst der Wert von $a zurückgegeben und dann der Wert um genau 1 erhöht. Das ist innerhalb einer Zählschleife von Bedeutung. Genauso wäre es möglich, erst hochzuzählen und dann den Wert zurückzugeben. Dann ist die Schreibweise:

++$a;

Die Zählschleife wird sich unterschiedlich verhalten. Nachfolgend einige Beispiele, um das zu verdeutlichen:

# Post-Inkrement ($a++):
$a = 5; 
echo "Sollte 5 sein: " . $a++ . " \n"; 
echo "Sollte 6 sein: " . $a . " \n";

# Prae-Inkrement (++$a):
$a = 5; 
echo "Sollte 6 sein: " . ++$a . " \n"; 
echo "Sollte 6 sein: " . $a . " \n";

# Post-Dekrement
$a = 5; 
echo "Sollte 5 sein: " . $a-- . " \n"; 
echo "Sollte 4 sein: " . $a . " \n"; 

# Prae-Dekrement
$a = 5; 
echo "Sollte 4 sein: " . --$a . " \n"; 
echo "Sollte 4 sein: " . $a . " \n";

Zeichenkettenoperator

Den Verknüpfungsoperator Punkt . für Zeichenketten kennen Sie schon aus "PHP lernen (1)".

$var = "Welt";
print "Hallo " . $var . "!";

// oder:

$var1 = "Hallo";
$var2 = " Welt";
$var = $var1 . $var2;

Zuweisungsoperatoren

Der einfachste Zuweisungsoperator ist das Gleichheitszeichen =. Hiermit wird z. B. einer Variablen ein Wert zugewiesen:

$a = 3;
$var = "Hallo";

Darüber hinaus gibt es zwei weitere Zuweisungsoperatoren, die eine verkürzte Schreibweise - ähnlich wie bei De- und Inkrementoperatoren - erlauben. Wenn $a um 4 erhöht werden soll, kann der Operator += verwendet werden:

$a = 3;
$a = $a + 4;  // $a ist jetzt 7, alternativ können Sie schreiben:
$a += 4;      // auch dann hat $a den Wert 7, s. o.

Das Gleiche funktioniert auch bei Zeichenketten:

$var = "Hallo";
$var = $var . " Welt";   // oder auch:
$var .= " Welt";         // $var hat jetzt den Wert "Hallo Welt"

Vergleichsoperatoren

Vergleichsoperatoren geben entweder wahr (true) oder falsch (false) zurück. Sie werden vor allem in Ausdrücken bei Bedingungen verwendet. Wenn ein Ausdruck wahr ist, soll eine bestimmte Aktion ausgeführt werden.

$a ==

$b

ist gleich

$a !=

$b

ist nicht gleich

$a <

$b

kleiner als

$a <=

$b

kleiner als oder gleich

$a >

$b

größer als

$a >=

$b

größer als oder gleich

In einer Bedingung würde dann z. B. folgende Schreibweise verwendet werden:

if ($a == $b) {
    print "irgendwas";
}

Wenn die Variable $a gleich der Variablen $b ist, dann gib irgendwas aus. Wie Ausdrücke in Bedingungen und Schleifen verwendet werden, wird weiter unten noch ausführlich erklärt.

Logische Operatoren

Die logischen Operatoren vergleichen zwei Ausdrücke miteinander. Die Variablen $a und $b stehen hier für Ausdrücke. Ein Ausdruck kann ein Vergleich sein: $zahl == 3. Ein solcher Ausdruck wird beispielsweise in einer bedingten Anweisung verwendet: if ($zahl == 3). Dies ist dann ein Ausdruck. Wenn Sie zwei Ausdrücke miteinander vergleichen, könnten Sie schreiben: if ($zahl == 3 && $zaehler == 5). Hier würden Sie also zwei Ausdrücke miteinander vergleichen. $a steht für $zahl == 3 und $b für $zaehler == 5.

Genauso ist aber $zahl allein ein Ausdruck. Mit if ($zahl) prüfen Sie, ob $zahl existiert. Sobald $zahl mit einem Wert belegt oder initiiert wurde, existiert die Variable und gibt in einer solchen Abfrage wahr zurück.

$a and $b

wahr, wenn sowohl $a also auch $b wahr sind

$a && $b

wie and, siehe oben

$a or $b

wahr, wenn $a oder $b oder beide wahr sind

$a || $b

wie or, siehe oben

$a xor $b

wahr, wenn entweder $a oder $b wahr ist, aber nicht beide

!$a

wahr, wenn $a nicht wahr ist

If (!$a) fragt ab, ob $a nicht existiert, also noch nicht belegt ist. Das Ausrufezeichen ! negiert den Wahrheitswert eines Ausdrucks. Wenn vor einem Funktionsaufruf ein Ausrufezeichen steht und der Rückgabewert der Funktion wahr, also true, ist, ist der Wert des gesamten Ausdrucks mit Ausrufezeichen falsch, also false.

Als Mitglied können Sie diesen Beitrag weiterlesen!

Werden Sie Mitglied und testen Sie akademie.de 14 Tage lang kostenlos!

In den ersten 14 Tagen haben Sie Zugriff auf alle Inhalte auf akademie.de, außer Downloads. Sie können in dieser Zeit ohne Angabe von Gründen stornieren. Eine E-Mail an service@akademie.de genügt. Nur wenn Sie Mitglied bleiben, wird der Mitgliedsbeitrag nach Ende der 14tägigen Stornofrist abgebucht.

Ich bin bereits Mitglied
Jetzt Mitglied werden und akademie.de 14 Tage kostenlos testen
Ich entscheide mich für folgende Zahlungsweise:
14 Tage Stornorecht:
Ich kann meine Mitgliedschaft in den ersten 14 Tagen jederzeit formlos stornieren, z.B. per E-Mail an service@akademie.de.

Inhalt

Downloads zu diesem Beitrag

Newsletter abonnieren