Forum und email

Operatori di incremento/decremento

PHP supporta lo stile C degli operatori di pre- e post-incremento e decremento.

Nota: Gli operatori di incremento e decremento non agiscono sui valori boolean. Anche decrementare il valore NULL non ha effetti, ma incrementarlo darà come risultato 1.

Operatori di incremento/decremento
Esempio Nome Effetto
++$a Pre-incremento Incrementa $a di una unità, inoltre restituisce $a.
$a++ Post-incremento Restituisce $a, inoltre incrementa $a di una unità.
--$a Pre-decremento Decrementa $a di una unità, inoltre restituisce $a.
$a-- Post-decremento Restituisce $a, inoltre decrementa $a di una unità.

Qui c'è un semplice script di esempio:

<?php
echo "<h3>Postincrement</h3>";
$a 5;
echo 
"Dovrebbe essere 5: " $a++ . "<br />\n";
echo 
"Dovrebbe essere 6: " $a "<br />\n";

echo 
"<h3>Pre-incremento</h3>";
$a 5;
echo 
"Dovrebbe essere 6: " . ++$a "<br />\n";
echo 
"Dovrebbe essere 6: " $a "<br />\n";

echo 
"<h3>Post-decremento</h3>";
$a 5;
echo 
"Dovrebbe essere 5: " $a-- . "<br />\n";
echo 
"Dovrebbe essere 4: " $a "<br />\n";

echo 
"<h3>Pre-decremento</h3>";
$a 5;
echo 
"Dovrebbe essere 4: " . --$a "<br />\n";
echo 
"Dovrebbe essere 4: " $a "<br />\n";
?>

Il PHP segue le convenzioni di Perl e non del C quando tratta le operazioni matematiche sui caratteri. Ad esempio, in Perl 'Z'+1 restituisce 'AA', mentre in C 'Z'+1 restituisce '[' ( ord('Z') == 90, ord('[') == 91 ). Attenzione che le variabili con caratteri possono essere sommate e non sottratte.

Example#1 Operazioni aritmetiche su variabili stringa

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

Il precedente esempio visualizzerà:

X
Y
Z
AA
AB
AC

Incrementare o decrementare valori booleani non ha effetto.