Forum und email

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.

Növelő/csökkentő operátorok
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.