Коли я викликаю функцію mainfunc()
Я хочу поставити явне значення поблизу виходу функції як параметр mainfunc()
. Я хочу робити щось подібне mainfunc("foo".LaTeX());
.
Але коли я це роблю, я отримую результат LaTeX()
перед "foo", він точно надрукував мене LaTeXfoo
(вихід LaTeX()
є LaTeX
) і я отримав те саме, коли намагаюся перестановити його так, як LaTeX() . foo
.
Отже, це дефініція функції LaTeX()
:
function LaTeX()
{
?><span class="latex">L<spu>a</sup>T<sub>e</sub>X</span><?php
}
Отже, що я можу зробити mainfunc
точно отримувати fooLaTeX
з допомогою LaTeX()
функція, будь ласка?
Відповіді:
2 для відповіді № 1Відповідь проста:
Не друкуйте (що відбувається, якщо закрити код PHP і знову відкрити).
Наступні два рядки коду по суті будуть робити те саме (вони "еквівалентні"):
echo "<b>Hello World!</b>";
?><b>Hello World!</b><?php
Натомість працюйте зі зворотними значеннями:
function LaTeX()
{
return "<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>";
}
Це створить поведінку, яку ви шукаєте. Однак, якщо ви просто плануєте повернути фіксовану рядок, краще визначте константу:
define(LaTeX, "<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>");
mainfunc("foo" . LaTeX);