За последние 24 часа нас посетили 22539 программистов и 1141 робот. Сейчас ищут 808 программистов ...

Почему так...

Тема в разделе "PHP для новичков", создана пользователем x_dev_x, 4 дек 2022.

  1. x_dev_x

    x_dev_x Новичок

    С нами с:
    28 окт 2022
    Сообщения:
    6
    Симпатии:
    0
    Привет!

    Код (Text):
    1. <?php
    2.  
    3. function sum($a, $b)
    4. {
    5.     echo $a + $b;
    6. }
    7.  
    8. echo 1 + sum(1,2);
    output: 31

    Почему 3 первая и 1 вторая?
    Почему не происходит сложения?
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Все норм.: 3 – результат сложения и вывода внутри ф-ции, 1 – результат сложения 1 с null ;)
    --- Добавлено ---
    Вообще, если это не тупой эксперимент, учитесь использовать во «вьюшных» ф-циях return, а не echo ;)
     
  3. x_dev_x

    x_dev_x Новичок

    С нами с:
    28 окт 2022
    Сообщения:
    6
    Симпатии:
    0
    вопрос вроде максимально четкий и без двойного дна: Почему 3 первая и 1 вторая?
    --- Добавлено ---
    echo 1 + sum(1,2)

    почему не 1 первая выводится?
    почему не происходит сложения с результатом суммы?
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    С какого перепугу 1 должен первым выводиться? Сначала вычисляется выражение, т.е. выполняются входящие в него ф-ции.
     
  5. x_dev_x

    x_dev_x Новичок

    С нами с:
    28 окт 2022
    Сообщения:
    6
    Симпатии:
    0
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Лучше проверьте echo 1, sum(1,2). Тут может и единица на первом месте появиться. Но в реале такой хренью не надо заниматься ;)
     
  7. x_dev_x

    x_dev_x Новичок

    С нами с:
    28 окт 2022
    Сообщения:
    6
    Симпатии:
    0
    ок, приоритет исполнения значит на фукции, хорошо, почему 3 первая разобрались)

    а почему тогда конкатенируется 1, а не слаживается?
    --- Добавлено ---
    да, это синтетический пример) не более)
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    «Слаживается». Выше писал. А эффект конкатенации из-за двух последовательных выводов, без разделителя.
     
  9. x_dev_x

    x_dev_x Новичок

    С нами с:
    28 окт 2022
    Сообщения:
    6
    Симпатии:
    0
    ок, спс