PHP 4.3

2.8 Inkrementieren und Dekrementieren

In diesem Abschnitt stellen wir Ihnen die Inkrementierungs- und Dekrementierungsoperatoren vor. Sie bewirken ein Hoch- bzw. ein Herunterzählen des Variablenwerts um den Wert 1. Die vollständig ausgeschriebene Schreibweise für eine Wertänderung kennen Sie ja bereits:

Ausgeschriebene Schreibweise der Addition bzw. Subtraktion:

<?php

  $a = $a + 1;
  $b = $b - 1;

?>

Eine erste Verkürzung dieser Schreibweise wäre:

<?php

  $a += 1;
  $b -= 1;

?>

Bis zu diesem Punkt haben Sie die Möglichkeit, den Summanden bzw. Subtrahenden genau zu beziffern. Statt einer 1 hätten Sie den Wert der Variablen also beispielsweise um 5 oder 12 erhöhen bzw. vermindern können. Bei der Inkrementierung bzw. Dekrementierung ist hingegen nur eine schrittweise Wertänderung, dass heißt um den Wert 1 möglich. Die Schreibweise ist dafür stark abgekürzt. Für eine Inkrementierung notieren Sie den Variablennamen und zweimal das Zeichen +, für eine Dekrementierung dementsprechend zweimal das Zeichen -.

Schreibweise der Inkrementierung und Dekrementierung:

<?php

  ++$a;
  --$a;

  // oder...

  $b++;
  $b--;

?>

Wie das obere Beispiel zeigt, können die Inkrementierungs- bzw. Dekrementierungs-Operatoren sowohl in der Präfix- als auch in der Postfixnotierung angegeben werden, dass heißt vor oder nach dem Variablennamen. Der Unterschied zwischen diesen beiden Notierungen liegt in der Abfolge der Bearbeitung, genauer: Der Effekt auf die Variable ist derselbe, aber es wird etwas anderes zurückgegeben.

Post- und Prä-Inkrementierung müssen also immer im Zusammenhang mit der unmittelbaren Umgebung betrachtet werden. Im folgenden Fall liefern $a und $b Werte an die Funktion echo. Post-Inkrementierung bedeutet, dass die Umgebungsoperationen zuerst ausgeführt werden (in folgenden Fall die Anweisung echo) und erst danach (post) inkrementiert wird. Daher wird bei der ersten Ausgabe $a mit dem Wert vor jeglicher Operation ausgegeben.

Das folgende Skript verdeutlicht dies:

Unterschiedliche Bearbeitung bei Präfix- und Postfixnotierung:

<?php

  $a = 50;
  $b = 50;

  echo $a++;
  echo "<br>"; // Zeilenumbruch
  echo $a;
  echo "<br><br>"; // Leerzeile
  echo ++$b;
  echo "<br>"; // Zeilenumbruch
  echo $b;

?>

Browserausgabe:

  50
  51

  51
  51 

Bei $b ist es genau umgekehrt. Es wird zuerst (also prä) inkrementiert und anschließend erst die Umgebungsoperation (das echo) ausgeführt. So sind beide ausgegebenen Werte für $b auf den Wert nach dem Inkrementieren gesetzt.

Wie man unten sehen kann, gilt die gleiche Verfahrensweise auch für das Dekrementieren. Beim Postdekrement wird zuerst das echo und dann das Herunterzählen ausgeführt; beim Prädekrement wird zuerst dekrementiert und dann das echo angewandt.

Herunterzählen von numerischen Variableninhalten um 1:

<?php

  $a = 50;
  $b = 50;

  echo $a--;
  echo "<br>"; // Zeilenumbruch
  echo $a;
  echo "<br><br>"; // Leerzeile
  echo --$b;
  echo "<br>"; // Zeilenumbruch
  echo $b;

?>

Browserausgabe:

  50
  49

  49
  49

Nachdem Sie diese Rechenoperationen, die ursprünglich in der Programmiersprache C entstanden sind, kennen gelernt haben, verstehen Sie jetzt wahrscheinlich auch, wie der Name der Programmiersprache C++ entstanden ist. Sie ist demnach einfach die Nachfolgerin der Programmiersprache C, liefert aber trotzdem den alten Wert von C zurück :-)

Kommentare (0)

Ihr Kommentar

Name