Prefix en postfix type in PHP
Eigenlijk kunnen de increment- en decrement-operaties
op twee manieren worden geschreven. In postfix
vorm wordt de operatie na de variabelenaam geschreven,
zoals dit: $a++, en in prefix
vorm - voor de variabelenaam, zoals dit:
++$a. Laten we met voorbeelden bekijken
wat het verschil is tussen de twee manieren.
In het volgende voorbeeld zal de eerste echo
0 uitvoeren,
omdat eerst de uitvoer naar het scherm plaatsvindt,
en pas daarna de variabele wordt verhoogd:
<?php
$num = 0;
echo $num++; // voert 0 uit, omdat de variabele pas na echo wordt verhoogd
echo $num; // voert 1 uit - variabele is veranderd
?>
En nu wordt de variabele eerst verhoogd, en pas daarna volgt de uitvoer naar het scherm:
<?php
$num = 0;
echo ++$num; // voert 1 uit - variabele werd onmiddellijk verhoogd
?>
Dit gedrag is niet alleen van toepassing op uitvoer naar het scherm, maar ook op toewijzing:
<?php
$num1 = 0;
$num2 = $num1++; // in variabele $num2 wordt 0 geschreven
echo $num2; // voert 0 uit
echo $num1; // voert 1 uit - variabele $num1 veranderde na toewijzing aan $num2
?>
Laten we nu de postfix-vorm veranderen naar prefix:
<?php
$num1 = 0;
$num2 = ++$num1; // in variabele $num2 wordt 1 geschreven
echo $num2; // voert 1 uit
?>
Als onze operatie op een aparte regel wordt uitgevoerd, dan is er geen verschil tussen prefix en postfix vormen:
<?php
$num = 0;
++$num;
$num++;
echo $num; // voert 2 uit
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num = 3;
echo ++$num;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num = 3;
echo $num++;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num = 3;
echo --$num;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num = 3;
echo $num--;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt uitgevoerd:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>