PHP中用于循环输出的漂亮HTML格式
我很确定我在这里或其他地方没有找到答案,或者可能是因为我不能提出正确的问题是我的错,但无论如何,假设我的PHP中有一个类似这样的for循环:PHP中用于循环输出的漂亮HTML格式,php,html,for-loop,formatting,Php,Html,For Loop,Formatting,我很确定我在这里或其他地方没有找到答案,或者可能是因为我不能提出正确的问题是我的错,但无论如何,假设我的PHP中有一个类似这样的for循环: for($i=0; $i<3; $i++){ echo "<a href=\"\">$i</a> | "; } for($i=0; $i<3; $i++) { echo "<a href=\"\">$i</a>"; if($i < 2) echo "|
for($i=0; $i<3; $i++){
echo "<a href=\"\">$i</a> | ";
}
for($i=0; $i<3; $i++)
{
echo "<a href=\"\">$i</a>";
if($i < 2)
echo "|";
}
for($i=0;$ifor($i=0;$ifor($i=0;$i)所以您只需要从输出中删除最后一个条?为什么不在循环时跳过它呢?类似这样:
for($i=0; $i<3; $i++){
echo "<a href=\"\">$i</a> | ";
}
for($i=0; $i<3; $i++)
{
echo "<a href=\"\">$i</a>";
if($i < 2)
echo "|";
}
用于($i=0;$i$output=array();
对于($i=0;$i$arr=array();
对于($i=0;i您也可以这样做:
for($i=0; $i<3; $i++) {
$arr[] = "<a href=\"\">$i</a>";
}
echo implode(' | ',$arr);
对于($i=0;$i保持流动,只有在不是第一个时才需要:
for ($i = 0; $i < 3; $i++) {
echo $i ? " | " : '', "<a href=\"\">$i</a>";
}
就是这个问题:
/* :( remove this! --> */ | <a href="">0</a> | <a href="">1</a> | <a href="">2</a>
有时候,这比摆弄PHP和HTML()更容易集成——不过这会将|
添加到链接文本或样式中(至少在我测试的chrome中,看起来有问题).这是编程中常见的一种情况,称为特殊情况模式。除了使用if语句或
for($i=0;$i不要在php中执行,而是在样式表中执行
首先构建你的HTML
<ul class="navlinks">
<?php foreach($links as $linkName => $linkUrl): ?>
<li><a href="<?php echo $linkUrl; ?>"><?php echo $linkName; ?></a></li>
<?php endforeach; ?>
</ul>
应用CSS
.navlinks > li:after
{
content:"<li>|</li>";
}
.navlinks > li:last-child:after
{
content:"";
}
.navlinks>li:之后
{
内容:“| ”;
}
.navlinks>li:最后一个孩子:之后
{
内容:“;
}
你不应该用php来设计你的HTML,这是正确的方法
echo implode(" | ", array_map(function($x){return "<a href=''>$x</a>";},range(1,3)));
for($i=0; $i<3; $i++) {
$arr[] = "<a href=\"\">$i</a>";
}
echo implode(' | ',$arr);
for ($i = 0; $i < 3; $i++) {
echo $i ? " | " : '', "<a href=\"\">$i</a>";
}
<a href="">0</a> | <a href="">1</a> | <a href="">2</a> | /* <-- remove this! :( */
/* :( remove this! --> */ | <a href="">0</a> | <a href="">1</a> | <a href="">2</a>
a:not(:first-child):before {content: ' | '}
for($i=0; $i<3; $i++){
echo "<a href=\"\">$i</a>" . ($i != 2) ? " | " : "";
<ul class="navlinks">
<?php foreach($links as $linkName => $linkUrl): ?>
<li><a href="<?php echo $linkUrl; ?>"><?php echo $linkName; ?></a></li>
<?php endforeach; ?>
</ul>
.navlinks > li:after
{
content:"<li>|</li>";
}
.navlinks > li:last-child:after
{
content:"";
}