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.

Táblázat 10-5. Növelő/csökkentő operátorok

PéldaNévHatás
++$aelőnövekményesNöveli $a-t eggyel, majd visszaadja $a értékét
$a++utónövekményesVisszaadja $a értékét, majd növeli $a-t eggyel
--$aelő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.

Példa 10-1. Aritmetikai műveletek karakterváltozókon

<?php
$i
= 'W';
for(
$n=0; $n<6; $n++)
  echo ++
$i . "\n";

/*
  A következőhöz hasonló kimenetet produkálja:

X
Y
Z
AA
AB
AC

*/
?>