neunzehn83.de

Ein Mann, ein Blog, kein Plan.

PHP: seltener "goes to" Operator ( - - > )

PHP hat einen "goes to"-Operator. Die Integer-Variable $x geht dabei schrittweise Richtung Null. Beispiel:

#!php@1
<?php
$x = 10;
while ( $x --> 0 ) {
    echo $x . ' ';
}
?>

Ausgabe:

9 8 7 6 5 4 3 2 1 0

Sensationell. Im PHP-Manual wird dieser Operator nicht erwähnt. Warum? Weil es in Wirklichkeit zwei Operatoren sind. Geparst wird das ganze nämlich so:

#!php@1
<?php
$x = 10;
while ( $x-- > 0 ) {
    echo $x . ' ';
}
?>

Und jetzt ist die Bedingung in der While-Schleife ein ganz normaler Post-Dekrement gefolgt von einem Vergleich. Das Ganze funktioniert also nur in die absteigende Richtung. Für die andere Richtung müsste man ++< schreiben - sieht dann aber nicht mehr so schick aus.

Geschrieben am Mittwoch, 30. Dezember 2009 und abgelegt unter Webtechnik.