Operatori
PHP Manual

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à, quindi restituisce $a.
$a++ Post-incremento Restituisce $a, quindi incrementa $a di una unità.
--$a Pre-decremento Decrementa $a di una unità, quindi restituisce $a.
$a-- Post-decremento Restituisce $a, quindi decrementa $a di una unità.

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 PHP e Perl $a = 'Z'; $a++; modifica $a in 'AA', mentre in C a = 'Z'; a++; modifica a in '[' (il valore ASCII di 'Z' è 90, quello di '[' è 91). Si noti che le variabili carattere possono essere incrementate ma non decrementate e anche in questo caso solo i caratteri ASCII (a-z e A-Z) sono supportati. Incrementare/decrementare altre variabili di carattere non ha effetto, la stringa originale non viene modificata.

Example #1 Operazioni aritmetiche su variabili carattere

<?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.


Operatori
PHP Manual