Привет! Код (Text): <?php function sum($a, $b) { echo $a + $b; } echo 1 + sum(1,2); output: 31 Почему 3 первая и 1 вторая? Почему не происходит сложения?
Все норм.: 3 – результат сложения и вывода внутри ф-ции, 1 – результат сложения 1 с null --- Добавлено --- Вообще, если это не тупой эксперимент, учитесь использовать во «вьюшных» ф-циях return, а не echo
вопрос вроде максимально четкий и без двойного дна: Почему 3 первая и 1 вторая? --- Добавлено --- echo 1 + sum(1,2) почему не 1 первая выводится? почему не происходит сложения с результатом суммы?
С какого перепугу 1 должен первым выводиться? Сначала вычисляется выражение, т.е. выполняются входящие в него ф-ции.
Лучше проверьте echo 1, sum(1,2). Тут может и единица на первом месте появиться. Но в реале такой хренью не надо заниматься
ок, приоритет исполнения значит на фукции, хорошо, почему 3 первая разобрались) а почему тогда конкатенируется 1, а не слаживается? --- Добавлено --- да, это синтетический пример) не более)
«Слаживается». Выше писал. А эффект конкатенации из-за двух последовательных выводов, без разделителя.