我想让它每 3 列形成一个新行。我迷路了,甚至在阅读了其他帖子后也不知道该怎么做。所以我希望它像
图标图标图标
图标图标图标
图标图标图标
等等......
foreach($sMenu as $row) {
$sClass = ($row['id'] == $aPage['id']) ? ' class="ui-btn-active ui-btn-custom"' : ' class="ui-btn-custom"';
$sIcon = ($row['icon'] != '') ? ' data-icon="' . $row['icon'] . '"' : '';
$sSiteRoot = get('site-root');
$row['url'] .= ($row['url'] == '') ? '' : '/';
$url = $sSiteRoot . $row['url'];
$url = str_replace('(', '%28', $url);
$url = str_replace(')', '%29', $url);
$url = str_replace("'", '%27', $url);
$sNavigation2 .= '<td><img src=". $sIcon .' . $url . '"></td>';
}
最佳答案
有时,最简单的方法是让一个变量跟踪您运行此循环的次数。例如:
$i = 0;
然后,在循环内部,检查数字 $i
是否等于 2(在本例中。)
foreach($sMenu as $row) {
// this is all your old code right here...
if ($i == 2) {
// then add your </tr><tr> break or whatever...
$i = 0;
} else {
$i++;
}
}
然后,继续执行 foreach 循环。
这也可以使用 modulus operator 来完成作为编写此“换行符”检查的更简洁方法(如此处的其他答案所示。)
关于PHP foreach 表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050897/