| Объясните, как это интерпретируется? |
|
Alex
|
28.10.09 00:53 |
Объясните, как это интерпретируется?
Почему в результате получаем 13?
$a=3;
$a+=++$a + $a++;
echo $a; |
| ответить |
|
Semm
|
29.10.09 17:51 |
увеличивает $a на 1, затем возвращает $a
После этого ++$a(увеличивает $a на 1, затем возвращает $a) операции значение $a будет равно на 4 |
| ответить |
|
phpfaq
|
29.10.09 18:02 |
| и получится 11, а не 13 :) |
| ответить |
|
.shattl
|
30.10.09 09:53 |
вот из той же серии интересное :)
$a=0;
$b[++$a] = ++$a;
print_r($b); |
| ответить |
|
.shattl
|
30.10.09 14:44 |
хотя нет.
в моём примере всё выполняется правильно, а вот в заглавном.. |
| ответить |
|
Alex
|
01.11.09 23:37 |
ответ
Semm
Из Вашего сообщения ничего не понял.
Если можно по шагам.
phpfaq
Получится именно 13. =)
Можете протестировать. |
| ответить |
|
phpfaq
|
01.11.09 23:40 |
я в курсе
11 получается из объяснений Semm |
| ответить |
|
Alex
|
01.11.09 23:44 |
ответ
Semm
вроде того:
$a=3;
$a($a=3)+=++$a($a=4) + $a++($a=5);
echo $a;//выдаст 12, а скрипт выдаёт 13...??? |
| ответить |
|
yAnTar
|
03.11.09 14:08 |
да, 13
$a+= (4+4+5) ++$a($a=4) + $a++($a=5); |
| ответить |