В коде: PHP: echo 'G'.print(5); // 5G1 echo print(5).'G'; // 5G1 5 от print() будет первой, независимо от расположения в коде. Почему? А в коде: Код (Text): echo 3, print(5); // 351 echo перебивает приоритет print() и выводит 3 первым. Почему?
Чтоб сделать конкатенацию, надо вычислить обе части выражения, поэтому в первом случае сначала выполняется print (выводит 5, возвращает 1), потом "G" конкатенируется с этой единицей, и результат выводится. Во втором случае всё вычисляется по частям, так работает запятая в echo.