За последние 24 часа нас посетили 32002 программиста и 1380 роботов. Сейчас ищут 902 программиста ...

Вопрос по echo и print

Тема в разделе "PHP для новичков", создана пользователем Walk, 30 ноя 2017.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    В коде:
    PHP:
    1. echo 'G'.print(5); // 5G1
    2. echo print(5).'G'; // 5G1
    5 от print() будет первой, независимо от расположения в коде. Почему?

    А в коде:
    Код (Text):
    1. echo 3, print(5); // 351
    echo перебивает приоритет print() и выводит 3 первым. Почему?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Чтоб сделать конкатенацию, надо вычислить обе части выражения, поэтому в первом случае сначала выполняется print (выводит 5, возвращает 1), потом "G" конкатенируется с этой единицей, и результат выводится. Во втором случае всё вычисляется по частям, так работает запятая в echo.
     
    Walk нравится это.