Növelő/csökkentő operátorok
A PHP támogatja a C-szerű ún. elő- és utónövekményes ill. csökkentő operátorokat.
Példa | Név | Hatás |
---|---|---|
++$a | előnövekményes | Növeli $a-t eggyel, majd visszaadja $a értékét |
$a++ | utónövekményes | Visszaadja $a értékét, majd növeli $a-t eggyel |
--$a | előcsökkentő | Csökkenti $a-t eggyel, majd visszaadja $a értékét |
$a-- | utócsökkentő | Visszaadja $a értékét, majd csökkenti $a-t eggyel |
Itt egy egyszerű példaprogram:
<?php
echo "<h3>Utónövekményes</h3>";
$a = 5;
echo "5-nek kell lennie: " . $a++ . "<br />\n";
echo "6-nak kell lennie: " . $a . "<br />\n";
echo "<h3>Előnövekményes</h3>";
$a = 5;
echo "6-nak kell lennie: " . ++$a . "<br />\n";
echo "6-nak kell lennie: " . $a . "<br />\n";
echo "<h3>Előcsökkentő</h3>";
$a = 5;
echo "5-nek kell lennie: " . $a-- . "<br />\n";
echo "4-nek kell lennie: " . $a . "<br />\n";
echo "<h3>Utócsökkentő</h3>";
$a = 5;
echo "4-nek kell lennie: " . --$a . "<br />\n";
echo "4-nek kell lennie: " . $a . "<br />\n";
?>
Aritemtikai műveletek karakterváltozókon való végzésénél a PHP a Perl szabályait követi, és nem a C szabályait. Például a Perlben 'Z'+1 kifejezé értéke 'AA' lesz, a C-ben pedig 'Z'+1 értéke '[' ( ord('Z') == 90, ord('[') == 91 ). Megjegyzés: a karakterváltozók növelhetőek, de nem csökkenthetőek.
Example#1 Aritmetikai műveletek karakterváltozókon
<?php
$i = 'W';
for ($n=0; $n<6; $n++) {
echo ++$i . "\n";
}
?>
A fenti példa a következő kimenetet adja:
X Y Z AA AB AC
Boolean változók növelésének, csökkentésének nincs hatása.