html页面foreach循环如何分段? html页面foreach循环如何分段?如图所示,比如第一列读取5个换一个段落在读5个这样的效果,求解答!谢谢【CSDN】大侠~~~高端大气上档次,低调奢华有内涵。奔放洋气有深度,狂拽炫酷屌炸天 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接foreach 计数 或者用array_chunk 分段都是可以实现的 定义一个变量$p=0; 每次循环完$p++;if($p%4==0) 分段. 我现在是用计数的,效果不理想,分页不方便,所以想截取,求:array_chunk 实例 http://www.w3school.com.cn/php/func_array_chunk.asp <style type="text/css"> ul,li{padding:0px;margin:0px;} ul {list-style:none;width:250px; background:green;} li {display:inline-block; width:50px; background:red;}</style><ul> <li>1 </li> <li>2 </li> <li>3 </li> <li>4 </li> <li> 5</li> <li>6 </li> <li>7 </li> <li>8 </li> <li>9 </li> <li>10 </li> <li>11 </li> <li> 12</li> <li> 13</li> <li>14 </li> <li>15 </li></ul>这是在谷歌浏览器下的现实。设置好ul和li的宽度就可以实现任意列了写样式要注意浏览器的兼容性问题,譬如ie的忘记那个版本了是不支持inline-block的,需要写hack多行多列最好不要用列表,用table比较省事test.php <table> <?php $arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14); $has_n_cols=3; //现实几列 $count=count($arr); $timer=1; foreach($arr as $value) { if($timer%$has_n_cols==1) { echo "\n<tr>"; } echo "\n<td>$value</td>"; if($timer%$has_n_cols==0 or $timer==$count) { echo "\n</tr>"; } $timer++; } ?></table> 不知道楼主有没有在用smarty模板技术 如果在用的话,给foreach起个名字<{foreach form=$arr name=name1 ....}><{if $smarty.foreach.name1.iteration % 5 ==0}>..(每循环5次 做什么 换行或者其他)..<{/if}><{/foreach}> 我觉得浮动的方式是最好的。<style type="text/css"> ul,li{padding:0px;margin:0px;} ul {list-style:none;width:156px; background:green;} li {width:50px; background:red;float:left;margin-left:10px;display:inline;}</style><ul> <li>1 </li> <li>2 </li> <li>3 </li> <li>4 </li> <li>5</li> <li>6 </li> <li>7 </li> <li>8 </li> <li>9 </li> <li>10 </li> <div style="clear:both;"></div></ul> 介个啊 css布局好了 直接输出到底 直接一个if判断即可,每隔5列就换行,换行的话,直接tr标签。 PHP 概率计算显示问题 如何用php编程实现网页的在线支付功能? 求助 突然不能访问php文件了 求zend studio配置svn详细教程 CMS系统中,导入excel数据问题 向高手求救 simplexml_load_file取值放入数组的问题,在线等 关于分割字符串问题! php获取bing每日图片 !!!HElp me!!我已经配置PHP+Oracle+Apache快一个星期了.......再搞不定就真死了~~~~ PHP 删除局域网文件 php_imap 如何获取邮件时间?
if($p%4==0) 分段.
ul,li{padding:0px;margin:0px;}
ul {list-style:none;width:250px; background:green;}
li {display:inline-block; width:50px; background:red;}
</style>
<ul>
<li>1 </li>
<li>2 </li>
<li>3 </li>
<li>4 </li>
<li> 5</li>
<li>6 </li>
<li>7 </li>
<li>8 </li>
<li>9 </li>
<li>10 </li>
<li>11 </li>
<li> 12</li>
<li> 13</li>
<li>14 </li>
<li>15 </li>
</ul>
这是在谷歌浏览器下的现实。设置好ul和li的宽度就可以实现任意列了
写样式要注意浏览器的兼容性问题,譬如ie的忘记那个版本了是不支持inline-block的,需要写hack多行多列最好不要用列表,用table比较省事
test.php
<table>
<?php
$arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
$has_n_cols=3; //现实几列
$count=count($arr);
$timer=1;
foreach($arr as $value)
{
if($timer%$has_n_cols==1)
{
echo "\n<tr>";
}
echo "\n<td>$value</td>";
if($timer%$has_n_cols==0 or $timer==$count)
{
echo "\n</tr>";
}
$timer++;
} ?></table>
<{foreach form=$arr name=name1 ....}>
<{if $smarty.foreach.name1.iteration % 5 ==0}>..(每循环5次 做什么 换行或者其他)..<{/if}>
<{/foreach}>
ul,li{padding:0px;margin:0px;}
ul {list-style:none;width:156px; background:green;}
li {width:50px; background:red;float:left;margin-left:10px;display:inline;}
</style>
<ul>
<li>1 </li>
<li>2 </li>
<li>3 </li>
<li>4 </li>
<li>5</li>
<li>6 </li>
<li>7 </li>
<li>8 </li>
<li>9 </li>
<li>10 </li>
<div style="clear:both;"></div>
</ul>