web関連
【PHP】5の倍数ずつdivで囲む方法
ループ文で配列を5の倍数ごとにdivで囲んで出力したかった時の備忘録
5の倍数ずつdivで囲む
<?php
$list = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30);
$count = count($list);
for($i = 0; $i < $count; $i++){
//5の倍数の時にdivを出力
if ($i % 5 === 0) {
echo "<div class='box'>";
}
//配列の中身を出力
echo $list[$i];
//余りが4の時か一番最後のループの時に閉じのdivを出力
if ($i % 5 === 4 || $i === $count - 1) {
echo "</div>";
}
}
?>
5の倍数は$i % 5 === 0
で判別できる
「0,5,10,15…」と5の倍数でdivは挿入されるけど、5つずつ出力される配列をdivで囲みたいので$i
の値が「4,9,14,19…」の時に閉じのdivを挿入する必要がある
「4,9,14,19…」は5の倍数で余りが4になる時の数値なので$i % 5 === 4
で判別できる
最後に$i === $count - 1
で一番最後のループかどうか判別して5の倍数でも余りが4でもない時に閉じのdivを挿入してお終い
普段使わない頭の部分使った(-"-)