[請益] 新手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