看板 PHP 關於我們 聯絡資訊
有時候我們需要將陣列的值以表格方式排列顯示,例如: ┌─┬─┬─┐ │1│2│3│ ├─┼─┼─┤ │4│5│6│ ├─┼─┼─┤ │7│8│ │ └─┴─┴─┘ 但是礙於table的換行並不是單純輸出<br />就好 必需產生一個<tr></tr>來包每行的<td></td> ========================== 【方法一】 優點:比較直覺,而且陣列索引值可以保持使用 缺點:如果資料不是以陣列存放,而是物件陣列 時無法使用array_chunk()來分組 ========================== <?php //假設資料 $data = array('a'=>1,2,'b'=>3,4,5,6,7,8); //切割數 $chunk = 3; //將陣列重新分組,並保持索引值 $data = array_chunk($data,$chunk,TRUE); ?> <table> <?php foreach($data as $row):?> <tr> <?php foreach($row as $val):?> <td><?php echo $val?></td> <?php endforeach;?> </tr> <?php endforeach;?> </table> ========================== 【方法二】 優點:如果資料不是一般陣列,而是透過物件方式 取值的物件陣列,也可以正常的完成表格 缺點:如果套用於一般陣列中,礙於$key可能是字串索引 所以必需額外宣告一個計數變數$i來做為斷行參考 ========================== <?php //假設資料 $data = (object) array(1,2,3,4,5,6,7,8); //切割數 $chunk = 2; ?> <table> <tr> <?php foreach($data as $key => $val):?> <td><?php echo $val?></td> <?php if(($key+1) != count($data) && ($chunk == 1 || ($key + 1)%$chunk == 0)):?> </tr><tr> <?php endif;?> <?php endforeach;?> </tr> </table> 以上分享,錯謬之處請指正 -- 歡迎來我的網誌看看 @ http://liaosankai.pixnet.net/blog -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.120.196 ※ 編輯: liaosankai 來自: 60.244.120.196 (11/26 20:40) ※ 編輯: liaosankai 來自: 211.74.61.2 (06/24 18:27) ※ 編輯: liaosankai 來自: 140.134.213.205 (09/14 18:53) ※ 編輯: liaosankai 來自: 140.134.213.205 (09/15 09:33) ※ 編輯: liaosankai 來自: 140.134.213.205 (09/15 14:24) ※ 編輯: liaosankai 來自: 113.196.199.5 (05/05 22:07)