我的代码是2部分,主要包含重要的PHP代码(正文)和第二个打印输出(作为html)
我不能把它变成一个......输出必须在第二部分打印为html
第一部分
<?php
// The main code
$w = explode('-', 'x1-x2-x3-x4');
foreach($w as $n) {
$s1 = $n;
}
?>
第二个
<?php
// Print output here and must be here
echo $s1;
?>
正如您所看到的,我正在尝试获取foreach的输出,它应该是
x1
x2
x3
x4
但我只得到x4
。为什么呢?
答案 0 :(得分:3)
您的代码会覆盖$s1
的值,因此最后一个是唯一实际打印的代码。
事实证明你根本不需要这样做:
// first part
$w = explode('-', 'x1-x2-x3-x4');
$s1 = implode('<br>', $w);
// second part
echo $s1;
您可以使用<br>
或\n
,具体取决于您在回复时发送的Content-type
。
答案 1 :(得分:1)
如果你只想在第二部分打印$ s1而不进行循环或进行任何其他处理,你只需要首先构建字符串$ s1。在你的情况下,当循环运行到最后一个项目时,只有它存储在$ s1中。所以输出是正确的。现在,为了将整个事物输出为html,您可以在第一部分中执行以下操作:
foreach($w as $n)
{
$s1 .= $n . "<br />";
}
答案 2 :(得分:1)
最短路=)
echo str_replace('-', '<br>', 'x1-x2-x3-x4');
答案 3 :(得分:0)
你覆盖了foreach中的所有内容,所以你只得到最后一个x4。
foreach($w as $n)
{
$s1. = $n;
}
echo ($s1);
答案 4 :(得分:0)
您可以尝试这样:)
echo str_replace('-','<br />','x1-x2-x3-x4');