Manuale PHP
Indietro | Capitolo 15. Operatori | Avanti

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

Tabella 15-6. 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.

Esempio 15-4. 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.

Indietro | Partenza | Avanti
Operatori di esecuzione | Risali | Operatori logici