【发布时间】:2012-06-28 00:25:56
【问题描述】:
我有这个代码 sn-p:
$num_thumbs = 3;
$thumb_p = "<li>\n<div class=\"row-wrapper\">\n";
$i = 0;
$j = 0;
foreach ($thumbs_array as &$thumb_link) {
if ($i == $num_thumbs) {
$i = 0;
$thumb_p .= "<div class=\"some-class-2\">" . $thumb_link . "</div>";
$thumb_p .= "</div>\n";
if($j == 3)
{
$thumb_p .= "</li>\n<li>";
$j = 0;
}
$thumb_p .= "<div class=\"row-wrapper\">\n";
$j++;
} else {
$thumb_p .= "\t\n<div class=\"some-class-1\">" . $thumb_link . "</div>";
$i++;
}
}
$thumb_p .= "\n</div>\n</li>\n";
它应该在每 3 次出现后将 <div class=\"row-wrapper\"> 包裹在 <li></li> 之间。
问题是我每次都在底部多出一行:
<li>
<div class="row-wrapper">
</div>
</li>
【问题讨论】:
-
$thumb_p .= "\n\n\n";如果您删除最后一个 \n ?
这不是代码更正,而是逻辑更正。因为错误的逻辑会产生不需要的行为而不是错误。
尝试使用 PHP 替代语法
<?php foreach($items AS $item): ?> <li></li> <?php endforeach; ?> 它使您的代码更清晰,更易于理解。
还要记住,Stack Overflow 不是调试平台或协作编程平台。如果您知道如何使用您编写的代码,请向后追溯您的步骤,将您的条件写在一张纸上并尝试重新编写,不要让其他人为您做您的工作。
这个..
Problem is that i get one extra line at the bottom every time:是什么意思?
标签: php html arrays foreach formatting