วันเสาร์ที่ 6 ธันวาคม พ.ศ. 2557

การทำซ้ำ (Loop หรือ Repeation)

3. การทำซ้ำ (Loop หรือ Repeation)
- นำเสนอ 3 คำสั่ง คือ for, while และ foreach
- foreach ใช้อ่าน array หรือ hash array มาทีละค่า

ex.301

zz301.php
ทำซ้ำด้วย for พิมพ์ 1 ถึง 5
<?
for($i=1;$i<=5;$i++){
  echo $i;
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
12345
# เริ่มต้นที่ 1 และทำในขณะที่น้อยกว่าหรือเท่ากับ 5
# กิจกรรมใน Block ของ for คือพิมพ์ตัวแปร i

ex.302

zz302.php
ทำซ้ำด้วย for พิมพ์ 1 ถึง 5 แบบแทรกใน HTML file
<body bgcolor=yellow>
<? for($i=1;$i<=5;$i++){ ?>
<?=$i?>
<br>
<?}?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
1
2
3
4
5
# แทรก code เข้าไปใน HTML file

ex.303

zz303.php
ทำซ้ำด้วย while พิมพ์ 1 ถึง 5 แบบกำหนดค่าเริ่มที่ 1
<?
$i = 1;
while($i <= 5) {
  echo $i;
  $i++;
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
12345
# $i++ มีความหมายเท่ากับ $i = $i + 1;
# $i++ หมายถึงเพิ่มค่าให้กับ $i อีก 1

ex.304

zz304.php
ทำซ้ำด้วย while พิมพ์ 1 ถึง 5 แบบกำหนดค่าเริ่มที่ 0
<?
$i = 0;
while($i < 5) {
  $i++;
  echo $i;
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
12345
# ใน Block มี 2 คำสั่ง เริ่มต้นด้วยการเพิ่มค่า แล้วพิมพ์ 5 ครั้ง

ex.305

zz305.php
การอ่าน array ด้วย foreach
<?
$ar = array("200","900");
foreach ($ar as $key => $value) {
  echo $key,$value,"<br>";
}
foreach ($ar as $value) {
  echo $value,"<br>";
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
0200
1900
200
900
# ใช้ foreach อ่าน array ค่าของ key เริ่มจาก 0
# array คือตัวแปร ที่มี key เป็นเลขลำดับเริ่มต้นจาก 0

ex.306

zz306.php
การอ่าน hash array ด้วย foreach
<?
$ar['tom'] = 200;
$ar['boy'] = 900;
foreach ($ar as $key => $value) {
  echo $key,$value,"<br>";
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
tom200
boy900
# ใช้ foreach อ่าน hash array
# hash array คือ array ที่มี key เป็น String

ex.307

zz307.php
พิมพ์ตัวเลขแยกสี แบบใช้ตัวแปร 2 ตัว
<?
echo "<font color=red>";
$c=1;
for($i=1;$i<=5;$i++) {
 if ($c == 1) {
  $c = 0;
  echo "$i<br>";
 } else {
  $c = 1;
  echo "<font color=blue>$i</font><br>";
 }
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
# ใช้ if เลือกพิมพ์ตัวเลขแยกสีแต่ละบรรทัด


ex.308

zz308.php
พิมพ์ตัวเลขแยกสี แบบใช้ตัวแปรเดียว
<?
echo "<font color=green>";
for($i=1;$i<=5;$i++) {
 if ($i % 2 == 0) {
  echo "$i<br>";
 } else {
  echo "<font color=blue>$i</font><br>";
 }
}
?>
ตัวอย่างผลลัพธ์ หรืออธิบาย
# ใช้ %(mod) ร่วมกับ if เลือกพิมพ์ตัวเลขแยกสี
# mod คือ การหารเพื่อหาเศษจากการหาร