[爆卦]php物件陣列是什麼?優點缺點精華區懶人包

為什麼這篇php物件陣列鄉民發文收入到精華區:因為在php物件陣列這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者liaosankai (低溫烘焙)看板PHP標題[分享] 將陣列轉輸出為表格(table)小技巧...


有時候我們需要將陣列的值以表格方式排列顯示,例如:
┌─┬─┬─┐
│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)

你可能也想看看

搜尋相關網站