Форматирование строки двойных кавычек с функциями

Я пытаюсь научиться писать более сложные строки. Я знаю, что могу сделать это, используя три разных утверждения, как таковых:

<?php
function1();
echo " | ";
function2();
?>

Чтобы получить такой результат: result1 | result2

(Мой реальный пример для этого — создание ссылок на предыдущие и следующие посты в WordPress, например:

<?php
previous_post_link( '%link', '< Previous' );
echo ' | ';
next_post_link( '%link', 'Next >' );
?>

)

Но, поскольку я пытаюсь совершенствоваться и изучать новые вещи, я пытаюсь написать это более четко. Я знаю, что могу использовать двойные кавычки и фигурные скобки для вставки функций, например:

<?php
echo "{${function1()}} | {${function2()}}";
?>

Но это возвращает результат, подобный следующему: result1result2 |

Почему это происходит и как я могу правильно написать этот код?

Спасибо!

1

Решение

Это из-за логики, поскольку ваш «чистый» пример обрабатывается php. Шаги:

  1. Вызовите функцию 1 (). Функция сразу выводит на экран: «result1»
  2. Вызовите функцию 2 (). Функции сразу выводят на экран: «result2». И у вас уже есть «result1result2» на экране
  3. Объединить возвращаемое значение для function1 (), с «|» и возвращаемое значение от function2 () и выводит объединенную строку. Возвращаемые значения, как я полагаю, являются нулевыми, поскольку ваши функции не используют операторы возврата. Таким образом, на этом шаге выводится «|».
  4. Наконец, у нас есть «result1result2 |»
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector