作者sagenegi (圣巫拉斐尔)
看板PHP
标题[请益] 新手PHP 请教回圈问题
时间Mon Nov 30 22:28:21 2015
最近在学习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
可是越写错更大...
有爬过版上的文章
好像和我的问题都不太一样
希望有大大可以帮我解答
或给一点方向
要鞭请鞭小力一点><
如此篇有违反版规我自删文
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.7.105
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1448893703.A.F58.html
※ 编辑: sagenegi (114.43.7.105), 11/30/2015 22:30:17
※ 编辑: sagenegi (114.43.7.105), 11/30/2015 22:31:23
1F:推 chippclass: 我猜是 <td><?php echo $array[$i+$j*4]; ?></td> 吗? 11/30 22:41
回C大 好像不是耶 会从第五个值开始跑 然後就错误了
※ 编辑: sagenegi (114.43.7.105), 11/30/2015 22:47:07
2F:推 wotupset: 回圈有问题所以资料不能完全叫出来 11/30 22:47
3F:→ wotupset: echo 的部分 <tr>...</tr> 这段应该要包含在内回圈 11/30 22:49
5F:→ wotupset: 我中文表达能力差 你自己看原始码研究一下 qq 11/30 23:00
7F:推 chippclass: 因为你的 $j 一开始是0 但是第一个 Do 马上 $j++ 所以 11/30 23:03
8F:→ chippclass: $j 会从 1 开始 第一个就变成从 $i + $j*4 = 5 11/30 23:04
9F:→ chippclass: 会错误我猜是 回圈跑到後来超过索引? 11/30 23:05
10F:→ chippclass: 如果只是要能动 , 不要求程式码的效能 一开始 $j= -1 11/30 23:06
11F:→ chippclass: 也许就解决了 11/30 23:06
感谢楼上几位大大的解说 好像知道问题在哪了 我再试试看 谢谢大家
※ 编辑: sagenegi (114.43.7.105), 11/30/2015 23:17:38
12F:→ TobyH4cker: for (j = 0; j < 3; j++) 12/01 00:11
13F:→ TobyH4cker: for (i = 0; i < 4; i++) 12/01 00:11
14F:→ TobyH4cker: print(array[j * 4 + i]); 12/01 00:12
15F:→ TobyH4cker: 不好意思我写C比较顺XD 12/01 00:13
感谢C大和I大还有楼上的T大(虽然我不会C) 原来还有这麽多种写法
※ 编辑: sagenegi (114.43.7.105), 12/01/2015 01:05:29
※ 编辑: sagenegi (114.43.7.105), 12/01/2015 01:06:10
16F:推 Hadamard: 用二维阵列会不会比较好写? 12/02 11:07
17F:推 xdraculax: for($j=0;$j<count($array);$j+=4) 12/02 12:24
18F:→ xdraculax: for($i=$j;$i<$j+4;$i++) 12/02 12:25
19F:→ xdraculax: 吃饭先@@晚点再贴另一种 12/02 12:27
20F:→ xdraculax: $val=reset($array); 12/02 14:04
21F:→ xdraculax: while($val!==FALSE){ 12/02 14:05
22F:→ xdraculax: echo '<tr>'; 12/02 14:05
23F:→ xdraculax: for($i=0;$i<4;$i++){ 12/02 14:06
24F:→ xdraculax: echo '<td>'.($val!==FALSE?$val:'$nbsp;').'</td>'; 12/02 14:07
25F:→ xdraculax: if($val!==FALSE)$val=next($array); 12/02 14:08
感谢X大大的回应 怎麽感觉好多回圈 我後来有用wotupset大大的方法
比较像是我要的 不过还是感谢大家热情的回应 至於H大提到二维阵列
我目前是用PDO捞资料的 捞出来的资料貌似就是二维阵列了?
※ 编辑: sagenegi (118.161.79.21), 12/02/2015 21:04:50