โจทย์ : ให้เขียนโปรแกรมเพื่อแสดงข้อความ 20 บรรทัด
โดย สลับสี สีแดงและสีน้ำน้ำเงินทีละ 3 บรรทัด และ 2 บรรทัด
วิธีอาจารย์
<?
for($i=0;$i<20;$i++){
++$z;
if($z<=3){
echo "<font color=red>xxx</font><br>";
}else if($z<=5){
echo "<font color=blue>xxx</font><br>";
}
if($z==5){
$z=0;
}
}
?>
for ใช้เพื่อวนรอบแสดงข้อความออกมาให้ครบตามรอบที่กำหนด
แต่สเตทเมนท์ที่จะใช้ตรวจสอบว่าจะเป็นตัวอักษรสีไหนนั้น
ใช้ตัวแปรZ ช่วย
วิธีที่ 2
<?
for($i=0;$i<20;$i++){
if($i%5<3){
echo "<font color=red>xxx</font><br>";
}else{
echo "<font color=blue>xxx</font><br>";
}
}
?>
if($i%5<3) 5 คือจำนวนของบรรทัดช่วงบรรทัดทั้งหมด(3 บรรทัด และ 2 บรรทัด)
ใช้วิธีการ เอาตัวแปรนับรอบ($i) มา mod กับ จำนวนบรรทัดรวมกัน
ตัวอย่าง
สีแดง เพราะผลmodน้อยกว่า3
0%5 = 0
1%5 = 1
2%5 = 2
สีแดง เพราะผลmodมากกว่าหรือเท่ากับ3
3%5 = 3
4%5 = 4
สีแดง เพราะผลmodน้อยกว่า3
5%5 = 0
6%5 = 1
7%5 = 2
สีแดง เพราะผลmodมากกว่าหรือเท่ากับ3
8%5 = 3
9%5 = 4