++$a
увеличивает значение $a
на единицу, а затем «возвращает» новое значение в эту позицию выражения.
$a == ++$a
- так ++$a
делает его 1
, а затемвпоследствии это сравнивается с текущим значением $a
, которое равно 1
в этой точке.
$a++
работает наоборот -текущее значение $ a возвращается в выражение, только после этого увеличивается $a
, поэтому со вторым вы фактически получаете 1 > 0
здесь.
(С $a > ++$a
вместо $a
получитсяувеличивается сначала, так что это будет 1 > 1
эффективно, в результате false
.)