Originariamente inviato da Trinità76
...perchè?
perchè $a--, con a uguale a 1, sarà 1 in assegnazione, 0 al secondo riutilizzo, mentre --$a ha precedenza in assegnazione.


$a = 1;
$a = $a-- + $a; // 1, $a-- sarà uno ma l'$a dopo sarà stato decrementato, quindi uguale a zero


$a = 1;
$a = --$a + $a; // 0 , perchè --$a sarà subito zero più zero del secondo $a quindi totale zero



$a = 0;
echo $a++; // 0, ma $a sarà 1
echo $a++; // 1, ma $a sarà 2
echo $a; // 2



$a = 0;
echo ++$a; // 1



[edit]
vale per tutti i linguaggi che supportano questi operatori di incremento/decremento, dal C al JavaScript (e nel caso di C vale anche per i puntatori)