[请益] 新手PHP 请教循环问题

楼主: sagenegi (圣巫拉斐尔)   2015-11-30 22:28:21
最近在学习PHP
之前是用DW
可是进入业界后发现用DW.....
所以现在用了sublime之后
就好像看到另一个世界....(重点错
回正题
知道板上高手众多
这个问题卡了我好几天
现在在练习写购物网站
我想要重复某一段html来达到轮播效果(捞数据库)
可是一直无法成功显示
//阵列资料
<?php $array = array( "第一个値" , "第二个値" , "第三个値" , "第四个値"
, "第五个値" , "第六个値" , "第七个値" , "第八个值"
, "第九个値" , "第十个値" , "第十一个値" , "第十二个值"); ?>
<table>
<?php $j=0; do { $j++?>
<tr>
<?php for ($i=0; $i < 4 ; $i++) { ?>
<td><?php echo $array[$i]; ?></td>
<?php } ?>
</tr>
<?php } while($j<3) ?>
</table>
//输出结果
第一个値 第二个値 第三个値 第四个値
第一个値 第二个値 第三个値 第四个値
第一个値 第二个値 第三个値 第四个値
第一个値 第二个値 第三个値 第四个値
上方的不是我想要的结果
我想要的是
第一个值 第二个值 第三个值 第四个值
第五个值 第六个值 第七个值 第八个值
第九个值 第十个值 第十一个值 第十二个值
就是资料可以一直往下跑
有一点像DW的重复区域
试过很多方法
像是continue
或是do里面包if
可是越写错更大...
有爬过版上的文章
好像和我的问题都不太一样
希望有大大可以帮我解答
或给一点方向
要鞭请鞭小力一点><
如此篇有违反版规我自删文
谢谢大家
作者: chippclass (善假狼赚钱中)   2015-11-30 22:41:00
我猜是 <td><?php echo $array[$i+$j*4]; ?></td> 吗?
作者: wotupset (wotupset)   2015-11-30 22:47:00
循环有问题所以资料不能完全叫出来echo 的部分 <tr>...</tr> 这段应该要包含在内循环http://ideone.com/sovzNS 我好像讲错了 写出来比较快我中文表达能力差 你自己看原始码研究一下 qq
作者: iceblue7x (满城尽带路人甲)   2015-11-30 23:03:00
http://goo.gl/3zlj65 循环可以这样包
作者: chippclass (善假狼赚钱中)   2015-11-30 23:03:00
因为你的 $j 一开始是0 但是第一个 Do 马上 $j++ 所以$j 会从 1 开始 第一个就变成从 $i + $j*4 = 5会错误我猜是 循环跑到后来超过索引?如果只是要能动 , 不要求程式码的效能 一开始 $j= -1也许就解决了
作者: TobyH4cker (Toby (我要当好人))   2015-12-01 00:11:00
for (j = 0; j < 3; j++)for (i = 0; i < 4; i++)print(array[j * 4 + i]);不好意思我写C比较顺XD
作者: Hadamard (大侠)   2015-12-02 11:07:00
用二维阵列会不会比较好写?
作者: xdraculax (首席怪叔叔)   2015-12-02 12:24:00
for($j=0;$j<count($array);$j+=4)for($i=$j;$i<$j+4;$i++)吃饭先@@晚点再贴另一种$val=reset($array);while($val!==FALSE){echo '<tr>';for($i=0;$i<4;$i++){echo '<td>'.($val!==FALSE?$val:'$nbsp;').'</td>';if($val!==FALSE)$val=next($array);

Links booklink

Contact Us: admin [ a t ] ucptt.com