我很确定我在这里或其他地方没有找到答案,或者可能是因为我不能提出正确的问题是我的错,但无论如何,假设我的 PHP 中有一个 for 循环,它是这样的:
for($i=0; $i<3; $i++){
echo "<a href=\"\">$i</a> | ";
}
如何使“|”的最后一次调用不出现,以便获得良好的输出:
<a href="">0</a> | <a href="">1</a> | <a href="">2</a>
代替
<a href="">0</a> | <a href="">1</a> | <a href="">2</a> | <-- remove this! :(
你们太棒了!谢谢!!!
如果 $i < $undefinedNumber 怎么办?
最佳答案
保持流程,如果不是第一个,你只需要:
for ($i = 0; $i < 3; $i++) {
echo $i ? " | " : '', "<a href=\"\">$i</a>";
}
对于第一个 $i
是 0
这意味着它是 false
。否则 $i
是一个正整数,表示 true
。
有时找到描述问题的替代方法有助于制定更简单的答案。而不是:
<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>
相同形式的解决方案也适用于 CSS:
a:not(:first-child):before {content: ' | '}
有时这比摆弄 PHP 和 HTML (Example) 更容易集成 - 然而这会将 |
添加到链接文本或样式中(至少在我测试它的 chrome 中,看起来 buggy )。
关于php - PHP for 循环输出中漂亮的 HTML 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11399244/