確切的說著應該是一個小小的技術性的問題,平時沒在意,但是真正想實現這種效果的時候才知道不是那麼簡單,有很多的細節性的問題需要自己去逐個的解決,比如,表格的破損問題,為了這個問題我開始也是很糾結的,不過現在好了,總算搞好了,這道坎總算邁過去了,把代碼與大家分享一下
<style>
table{
border:1px solid red;
border-collapse:collapse;
}
td{
border:1px solid green;
border-bottom:1px solid black;
}
</style>
<?php
/*
先講數組轉化為數字索引數組,然後循環數字索引數組
*/
$arr=array(
"apple" => "./img/apple.jpg",
"banana" => "./img/banana.jpg",
"caomei" => "./img/caomei.jpg",
"zaozi" => "./img/zaozi.jpg",
"orange" => "./img/orange.jpg",
"lizi" => "./img/lizi.jpg",
"shizi" => "./img/shizi.jpg"
);
//關聯數組轉化為數字索引數組
$row=array();
foreach($arr as $key=>$a_v){
$row[]=$a_v;
}
//將數字索引數組循環遍歷到表格中,當然這裡也可以用foreach,但我用的是比較傳統的循環方法for,
echo "<table border=1px cellspacing=10px cellpadding=10px><tr>";
for($i=0;$i<count($row);$i++){
$a=false;
echo "<td><img src=".$row[$i]." width=100px height=100px></td>";
if(($i+1)%3 == 0 && $i != 0){
echo "</tr><tr>";
$a=true;
}
}
/*下邊的這段代碼才是這個技術問題的關鍵所在,作用就是將空缺的單元格<td>補全,避免表格出現斷裂,具體的代碼含義相信大家都能懂的,可讀性就不必挑剔了,
*/
$remainder=(count($row))%3;
$a=3-$remainder;
if($remainder!=0){
for($i=1;$i<=$a;$i++){
echo "<td> </td>";
}
}
echo "</tr></table>";
?>
不加最後這段代碼之前的效果
加上最後這段代碼之後的效果
比較一下兩者的不同就會明白我的良苦用心了