Präfix- und Postfix-Typ in PHP
Tatsächlich können Inkrement- und Dekrementoperationen
auf zwei Arten geschrieben werden. In postfix
Schreibweise wird die Operation nach dem Variablennamen geschrieben,
so: $a++, und in präfix
Schreibweise - vor dem Variablennamen, so:
++$a. Schauen wir uns an Beispielen an,
worin der Unterschied zwischen den beiden Arten liegt.
Im folgenden Beispiel gibt das erste echo
0 aus, da zuerst die Ausgabe
auf den Bildschirm erfolgt und erst dann die Variable erhöht wird:
<?php
$num = 0;
echo $num++; // gibt 0 aus, da die Variable erst nach echo erhöht wird
echo $num; // gibt 1 aus - Variable hat sich geändert
?>
Und jetzt erhöht sich die Variable zuerst, und erst dann erfolgt die Ausgabe auf den Bildschirm:
<?php
$num = 0;
echo ++$num; // gibt 1 aus - Variable wurde sofort erhöht
?>
Dieses Verhalten gilt nicht nur für die Ausgabe auf den Bildschirm, sondern auch für die Zuweisung:
<?php
$num1 = 0;
$num2 = $num1++; // in die Variable $num2 wird 0 geschrieben
echo $num2; // gibt 0 aus
echo $num1; // gibt 1 aus - Variable $num1 änderte sich nach der Zuweisung an $num2
?>
Und jetzt ändern wir die Postfix-Form in die Präfix-Form:
<?php
$num1 = 0;
$num2 = ++$num1; // in die Variable $num2 wird 1 geschrieben
echo $num2; // gibt 1 aus
?>
Wenn unsere Operation in einer separaten Zeile ausgeführt wird, gibt es keinen Unterschied zwischen Präfix- und Postfix- Formen:
<?php
$num = 0;
++$num;
$num++;
echo $num; // gibt 2 aus
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num = 3;
echo ++$num;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num = 3;
echo $num++;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num = 3;
echo --$num;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num = 3;
echo $num--;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Bestimmen Sie, ohne den Code auszuführen, was auf den Bildschirm ausgegeben wird:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>