Приоритет оператора PHP «Неопределенный порядок оценки»?
http://www.php.net/manual/en/language.operators.precedence.php#example-115
<?php
$a = 1;
echo $a + $a++; // may print either 2 or 3
?>
Пример из руководства по php не очень хорошо объясняет. Почему нет$a++
оценивается в2
, а затем добавлен в1
так, чтобы оно всегда сталоecho 1 + 2 // equals 3
? Я не понимаю, как это «может печатать 2 или 3». Я думал, что постепенно++
имеет «более высокий приоритет», чем сложение+
?
Другими словами, я не понимаю, почему это не так ...
$a = 1;
1) echo $a + $a++;
2) echo 1 + ($a = 1 + 1);
3) echo 1 + (2);
4) echo 3;