使 echo 中的函数在格式化位置输出
Make function inside echo be outputted at formatted position
我尝试了很多方法来解决这个问题,包括所有类型的引用等。在解释情况之前,我会先给你我当前的代码。
function show_msgs($msgs)
{
foreach($msgs as $msg) {
echo '<div class="msg">' . $msg . '</div>' . "\n ";
}
}
function generate_msgBox()
{
global $array;
$Whosebug =
<<<EOT
<div class="container">
<div class="msgBox">
%s
</div>
</div>
EOT;
$Whosebug = sprintf($Whosebug, show_msgs($array));
echo $Whosebug;
}
generate_msgBox 函数当前在调用时输出:
<div class="msg">First message!</div>
<div class="msg">Seconds message!</div>
<div class="container">
<div class="alertBox">
</div>
</div>
但是我需要它来输出这个:
<div class="container">
<div class="alertBox">
<div class="msg">First message!</div>
<div class="msg">Seconds message!</div>
</div>
</div>
我尝试将函数直接放在 echo 中,用普通引号括起来,我得到了相同的结果。
我该如何解决这个问题?
这个怎么样:
function show_msgs($msgs)
{
foreach($msgs as $msg) {
echo '<div class="msg">' . $msg . '</div>' . "\n";
}
}
function generate_msgBox()
{
$Whosebug = '<div class="container"><div class="msgBox">'.show_msgs().'</div></div>';
echo $Whosebug;
}
show_msgs 函数中的 Echo 在 generate_msgBox 函数输出之前工作 - 当您调用它时。只是 return 函数结果的字符串
function show_msgs($msgs)
{
$ret = '';
foreach($msgs as $msg) {
$ret .= '<div class="msg">' . $msg . '</div>' . "\n ";
}
return $ret;
}
我尝试了很多方法来解决这个问题,包括所有类型的引用等。在解释情况之前,我会先给你我当前的代码。
function show_msgs($msgs)
{
foreach($msgs as $msg) {
echo '<div class="msg">' . $msg . '</div>' . "\n ";
}
}
function generate_msgBox()
{
global $array;
$Whosebug =
<<<EOT
<div class="container">
<div class="msgBox">
%s
</div>
</div>
EOT;
$Whosebug = sprintf($Whosebug, show_msgs($array));
echo $Whosebug;
}
generate_msgBox 函数当前在调用时输出:
<div class="msg">First message!</div>
<div class="msg">Seconds message!</div>
<div class="container">
<div class="alertBox">
</div>
</div>
但是我需要它来输出这个:
<div class="container">
<div class="alertBox">
<div class="msg">First message!</div>
<div class="msg">Seconds message!</div>
</div>
</div>
我尝试将函数直接放在 echo 中,用普通引号括起来,我得到了相同的结果。
我该如何解决这个问题?
这个怎么样:
function show_msgs($msgs)
{
foreach($msgs as $msg) {
echo '<div class="msg">' . $msg . '</div>' . "\n";
}
}
function generate_msgBox()
{
$Whosebug = '<div class="container"><div class="msgBox">'.show_msgs().'</div></div>';
echo $Whosebug;
}
show_msgs 函数中的 Echo 在 generate_msgBox 函数输出之前工作 - 当您调用它时。只是 return 函数结果的字符串
function show_msgs($msgs)
{
$ret = '';
foreach($msgs as $msg) {
$ret .= '<div class="msg">' . $msg . '</div>' . "\n ";
}
return $ret;
}