SlideShare a Scribd company logo
PHP :การใช้คาสั่งควบคุม
การทางาน
อ.ดร.แจ่มจันทร์ ศรีอรุณรัศมี
ภาควิชาเทคโนโลยีทางการศึกษา
คณะศึกษาศาสตร์ มหาวิทยาลัยศรีนครินทรวิโรฒ
คาสั่งควบคุมการทางาน PHP
1. กลุ่มคาสั่งที่ใช้ในการตัดสินใจ
(Decision Statements)
2. กลุ่มคาสั่งที่ใช้ในการวนซ้าหรือทาซ้า
(Loop Statements)
3. กลุ่มคาสั่งที่ใช้ข้ามกระโดด
(Jump Statements)
Php เงื่อนไขต่างๆ
Php เงื่อนไขต่างๆ
รูปแบบที่ 1ตรวจสอบเงื่อนไขว่าจริงหรือเท็จ
• โดยจะตรวจสอบว่าหากเงื่อนไขนั้นเป็นจริงให้เข้าทางานต่อในคาสั่งที่กาหนดไว้ แต่หากเป็นเท็จให้ข้าม
คาสั่งนั้นไปทางานในคาสั่งถัดไปทันที
• รูปแบบ
if (เงื่อนไข)
{
กลุ่มคาสั่งเมื่อเงื่อนไขเป็นจริง
}
ตัวอย่าง
คำสั่ง if กำรประมวลผล
<? PHP
$a = 30;
if ($a> 10)
{
echo “$a more than 10”;
}
echo “<br/>”;
echo “Next Statement”;
?>
กาหนดค่า $a = 30
ตรวจสอบเงื่อนไขว่า $a มากกว่า 10
ถ้าจริงให้แสดงข้อความ
ตามที่กาหนด
ถ้าเท็จ เช่น เปลี่ยนค่า $a= 5
โปรแกรมจะข้ามการทางานในส่วนที่อยู่ในเครื่องหมาย
{……….} ลงไปทางานในคาสั่งต่อไปทันที
รูปแบบที่ 2 เลือก1ใน2ทางเลือก
ด้วยคาสั่ง if….else
• ตรวจสอบเงื่อนไขคือ ถ้าเงื่อนไขนั้นเป็นจริงให้ทางานตามปกติ แต่ถ้าเงื่อนไขเป็นเท็จจะให้ทางานในคาสั่ง
หนึ่งก่อนแล้วจึงไปยังคาสั่งถัดไป
• รูปแบบ
if (เงื่อนไข)
{
กลุ่มคาสั่งเมื่อเงื่อนไขเป็นจริง
} else
{
กลุ่มคาสั่งเมื่อเงื่อนไขเป็นเท็จ
}
ตัวอย่าง
คำสั่ง if…else กำรประมวลผล
<? PHP
$a = 5;
if ($a> 10)
{
echo “$a more than 10”;
} else
{
echo “$a less than 10”;
}
?>
จากเงื่อนไข การทางานเป็น 2 ทิศทาง
คือ เมื่อกาหนด $a= 5
ตรวจสอบเงื่อนไข
ผลที่ได้เป็นเท็จ โปรแกรมจะข้ามการทางานในส่วนที่อยู่ใน
เครื่องหมาย {……….} ลงไปทางานในชุดคาสั่งเครื่องหมาย
{…..} ที่อยู่หลังคาสั่ง else
รูปแบบที่ 3 เลือก1ในหลายทางเลือก
ด้วยคาสั่งif….elseif….else
• เป็นการตรวจสอบเงื่อนไขที่ซับซ้อนมากกว่า 2 เงื่อนไข ลักษณะการทางานคือ
ถ้าเงื่อนไขนั้นเป็นจริงจะทางานตามคาสั่งที่อยู่หลังเงื่อนไขนั้น แต่ถ้าเป็นเท็จจะข้ามไปตรวจสอบเงื่อนไขถัดไป (หลัง
elseif) ทีละขั้น จนกว่าเงื่อนไขที่ตรวจสอบจะเป็นจริง แล้วจึงเข้าไปทางานในส่วนนั้นๆ หรือหากไม่พบเงื่อนไขที่เป็นจริง
เลยก็จะไปทางานในส่วนของ else ที่อยู่หลังสุด
• รูปแบบ
if (เงื่อนไข)
{
กลุ่มคาสั่ง
} elseif (เงื่อนไข)
{
กลุ่มคาสั่ง
} else
{
กลุ่มคาสั่ง
}
ตัวอย่าง
คำสั่ง if…elseif…else กำรประมวลผล
<? PHP
$score = 75;
if ($score>=80)
{
echo “Grade A”;
} elseif ($score >=70)
{
echo “Grade B”;
} elseif ($score >=60)
{
echo “Grade C”;
} elseif ($score >=50)
{
echo “Grade D”;
} else {
echo “Grade E”;
}
?>
จากตัวอย่าง เมื่อกาหนด $score= 75
จะมีการตรวจสอบเงื่อนไข
แรกว่า if ($score>=80) ถ้าเป็นเท็จ ก็จะทาการข้ามกลุ่ม
คาสั่งในปีกกา ไปทางานในคาสั่งหลัง elseif ทันที และมีการ
ตรวจสอบเงื่อนไขถัดไป เมื่อพบว่าเงื่อนไขนั้นเป็นจริง โปรแกรมก็
จะเข้าไปทางาน ส่วนที่อยู่ในเครื่องหมาย {……….} ต่อ ซึ่งใน
ที่นี้ก็จะแสดงข้อมูล Grade B บนหน้าจอ
คาสั่ง switch….case….default
• เป็นคาสั่งสาหรบการตัดสินใจที่มีทางเลือกหลายทาง โดยจะมีการตรวจสอบเงื่อนไขว่าตรงกับตัวเลือกใดในแต่ละ
case เมื่อพบ case ที่ตรงกับค่านั้นก็จะเข้าไปทางานตามคาสั่งทั้งหมดใน case นั้น แต่ถ้าไม่พบ case ที่
ตรงกันก็จะไปทางานในส่วนของ default แทน
• รูปแบบ
switch (ตัวแปร)
{
case ค่าที่ 1: กลุ่มคาสั่ง ; break;
case ค่าที่ 2: กลุ่มคาสั่ง ; break;
case ค่าที่ 3: กลุ่มคาสั่ง ; break;
default : กลุ่มคาสั่ง ; break;
}
ตัวอย่าง
คำสั่ง switch…case…default กำรประมวลผล
<? PHP
$var = 2;
switch ($var)
{
case 1: echo “one”; break;
case 2: echo “two”; break;
case 3: echo “three”; break;
default: echo “Can’t select”; break;
}
?>
จากตัวอย่าง กาหนดให้ $var มีค่าเป็น 2 เมื่อตรวจสอบ
เงื่อนไขใน switch โดยเปรียบเทียบแต่ละ case พบว่า ค่า
ของตัวแปรนั้นตรงกับ case ที่ 2 ก็จะทางานต่อตามคาสั่งที่มี
ใน case คือ echo และ break ตามลาดับ
แต่ถ้าข้อมูลไม่ตรงกับ case ใดๆ เช่น $var=5; โปรแกรมก็
จะไปทางานที่คาสั่งสุดท้ายคือ defaut
2.กลุ่มคาสั่งที่ใช้ในการวนซ้าหรือทาซ้า
• คำสั่ง for
เป็นคาสั่งที่ใช้ในการวนรอบหรือทาซ้าตามเงื่อนไข โดยมีการกาหนดค่าเร่ิมต้นเงื่อนไขและการ
เปลี่ยนแปลงค่าตัวแปรในการวนรอบ การวนรอบจะทางานตามลาดับดังนี้
1) เริ่มต้นการวนรอบตามค่าที่กาหนด
2) ทางานภายใต้คาสั่งที่กาหนด
3) เปลี่ยนแปลงค่าของตัวแปรในการวนรอบ
4) ตรวจสอบเงื่อนไข หากเป็นจริงจะยังคงวนรอบซ้าต่อไป
จนกระทั่งพบเงื่อนไขที่ตรวจสอบเป็นเท็จจึงจะหยุดวนรอบ
รูปแบบการใช้งานคาสั่ง for
For (ตัวแปรเร่ิมต้น; เงื่อนไข; การเปลี่ยนแปลงค่าตัวแปร)
{
กลุ่มคาสั่ง ;
}
ตัวอย่าง
คำสั่ง for กำรประมวลผล
<? PHP
for ($i=1; $i<=10;$i++)
{
echo $i.”&nbsp;”;
}
?>
จากตัวอย่าง กาหนดให้ค่าเริ่มต้นเป็น 1
($i=1) และเงื่อนไขที่กาหนดคือ $i<=10 โปรแกรมจะ
ตรวจสอบค่าตัวแปรนั้นว่าเป็นจริงหรือไม่ เมื่อเงื่อนไขเป็นจริงก็จะ
เข้าไปทางานในส่วนของเครื่องหมาย {….} และต่อด้วยคาสั่ง
$i++ คือ กลับไปเพิ่มค่าให้ตัวแปรเริ่มต้น ตามตัวอย่าง ค่าของ
$i จะเพิ่มไปเรื่อยๆตามเงื่อนไข จนค่าของ $i มีค่าเป็น 11 เมื่อ
ตรวจสอบเงื่อนไขว่าเป็นเท็จ ก็จะหยุดการวนรอบหรือทาซ้าทันที
<? PHP
for ($i=1; $i<=10;$i++)
{
echo $i. “&nbsp;”;
}
?>
$i=1
$i<=10
$i++
คาสั่งถัดไป
จริง
เท็จ
Echo $i.
“&nbsp;”;
2.กลุ่มคาสั่งที่ใช้ในการวนซ้าหรือทาซ้า
• คำสั่ง while
ลักษณะการทางาน จะทาการตรวจสอบเงื่อนไข และทางานภายใต้คาสั่งที่กาหนด
จนกว่าเงื่อนไขที่ตรวจสอบนั้นเป็นเท็จ จึงจะหยุดและข้ามไปทางานต่อ ที่คาสั่งถัดไป
รูปแบบการใช้งานคาสั่ง while
While (เงื่อนไข)
{
กลุ่มคาสั่ง ;
}
ตัวอย่าง
คำสั่ง while กำรประมวลผล
<? PHP
$i=10;
while($i>=1)
{
echo $i.”&nbsp;”;
$i--;
}
?>
จากตัวอย่าง กาหนดให้ค่าเริ่มต้นเป็น 10 ($i=10) เมื่อ
กาหนดเงื่อนไขของ while ถ้าเป็นจริง ก็จะเข้าไปคาสั่งคาสั่ง
ภายใน {….} และทางานซ้าๆ ไปเรื่อยๆ จนกว่า $i จะลดลงไป
ถึงค่าที่เงื่อนไขเป็นเท็จ ($i=0) จึงสิ้นสุดการวนรอบของคาสั่ง
while
<? PHP
$i=10;
while ($i >=1)
{
echo $i. “&nbsp;”;
$i--;
}
?>
$i=10
$i>=1
$i--
คาสั่งถัดไป
จริง
เท็จ
Echo $i.
“&nbsp;”;
2.กลุ่มคาสั่งที่ใช้ในการวนซ้าหรือทาซ้า
• คำสั่ง do…while
ลักษณะการทางาน คล้ายกับคาสั่ง while แต่จะมีการทางานในคาสั่งที่กาหนดอย่าง
น้อย 1 ครั้งก่อน จึงไปตรวจสอบเงื่อนไขภายในวงเล็บ ถ้าเงื่อนไขที่ตรวจสอบเป็นจริง
จะกลับขึ้นไปทางานภายในคาสั่งที่กาหนดอีกครั้ง วนไปเรื่อยๆ จนกว่าเงื่อนไขที่
ตรวจสอบนั้นจะเป็นเท็จ จึงจะหยุดการวนรอบและไปทางานในคาสั่งถัดไป
รูปแบบการใช้งานคาสั่ง do…while
do {
กลุ่มคาสั่ง ;
}
While(เงื่อนไข)
ตัวอย่าง
คำสั่ง do…while กำรประมวลผล
<? PHP
$i=1;
do
{
echo $i.”&nbsp;”;
$i++;
}while ($i <=10)
?>
จากตัวอย่าง จะมีการทางานในปีกกา {….}ที่วางอยู่หลัง do
ก่อนอย่างน้อย 1 รอบ แล้วจึงไปตรวจสอบเงื่อนไขต่อที่ while
หากเงื่อนไขเป็นจริงโปรแกรมจะวนกลับไปทางานในปีกกาหลัง
do เช่นเดิม ซ้าๆ จนกว่าการตรวจสอบเงื่อนไขของ while เป็น
เท็จแล้วจึงหยุดการวนรอบ
<? PHP
$i=1;
do
{
echo $i.”&nbsp;”;
$i++;
}while ($i <=10)
?>
$i=1
$i<=10
$i++
คาสั่งถัดไป
จริง
เท็จ
Echo $i.
“&nbsp;”;
2.กลุ่มคาสั่งที่ใช้ในการวนซ้าหรือทาซ้า
• คำสั่ง foreach
เป็นการวนรอบที่ใช้กับ array เพื่อจะนาข้อมูลจาก array ออกมาใช้งานทีละค่า
และจะวนไปเรื่อยๆ ตามจานวนข้อมูลที่มีอยู่ใน array จนครบตามจานวนข้อมูล
ทั้งหมด การใช้งาน foreach ทางานได้ 2 แบบ คือ
1.เลือกข้อมูลจากarrayส่วนของvalue
foreach ($array_name as $value)
{
กลุ่มคาสั่ง ;
}
2.เลือกข้อมูลจากarray ออกมาทั้งindexและvalue
foreach ($array_name as $key=>$value)
{
กลุ่มคาสั่ง ;
}
ตัวอย่าง1:การเลือกจากarrayส่วนของ value
คำสั่ง foreach กำรประมวลผล
<? PHP
$arr=array(“one”, “two”, “three”);
foreach ($arr as $data)
{
echo $data.”<br/>”;
}
?>
จากตัวอย่าง กาหนดให้ตัวแปร $arr เก็บข้อมูลที่เป็น array
ไว้ เมื่อใช้คาสั่ง foreach มาทาการวนลูปแสดงข้อมูลใน
array ทีละข้อมูล การวนลูปแต่ละครั้งจะมีการสร้างตัวแปร
$data มารับข้อมูลในแต่ละค่าออกมาแสดงผล
ตัวอย่าง2:การเลือกจากarrayออกมาทั้ง index
และvalue
คำสั่ง foreach กำรประมวลผล
<? PHP
$arr=array(‘a’=> “one”, ‘b’=> “two”,
‘c’=> “three”);
foreach ($arr as $key=>$data)
{
echo “index is [$key],
value is $data <br/>”;
}
?>
จากตัวอย่างนี้การทางานจะคล้ายกับตัวอย่าง 1 แต่มีข้อ
แตกต่างอยู่ที่ภายใน foreach โดยเปลี่ยนเป็น
foreach ($arr as $key=>$data)
ซึ่งจะเห็นว่ามีตัวแปร $key เพิ่มขึ้นมาเพื่อเก็บข้อมูล index
ของ array ออกมาใช้งานในแต่ละรอบ
3.กลุ่มคาสั่งที่ใช้ข้ามกระโดด
• คำสั่งในกลุ่มนี้ใช้สำหรับหยุดกำรทำงำน หรือออกจำกกำรทำงำนทันที คำสั่งที่
ใช้ได้แก่
1) break ให้หยุดการทางานทันทีไม่ต้องคานึงว่าจะต้อง
วนรอบ
2) continue ข้ามไปวนซ้ารอบถัดไป โดยไม่คานึง
ถึงคาสั่งที่เหลืออยู่ในการวนซ้ารอบนั้นๆ
3) exit ให้จบการทางานของไฟล์สคริปต์นั้นทันที
แบบฝึกหัด
• เขียน code โปรแกรม กาหนดเงื่อนไข เกรดดังนี้
A มากกว่าเท่ากับ 80 คะแนน
B+ มากกว่าหรือเท่ากับ 75 คะแนน และน้อยกว่า 80 คะแนน
B มากกว่าหรือเท่ากับ 70 คะแนน และน้อยกว่า 75 คะแนน
C+ มากกว่าหรือเท่ากับ 65 คะแนน และน้อยกว่า 70 คะแนน
C มากกว่าหรือเท่ากับ 60 คะแนน และน้อยกว่า 65 คะแนน
D+ มากกว่าหรือเท่ากับ 55 คะแนน และน้อยกว่า 60 คะแนน
D มากกว่าหรือเท่ากับ 50 คะแนน และน้อยกว่า 55 คะแนน
E น้อยกว่า 50 คะแนน
การให้คะแนน เมื่อเปลี่ยนค่าของตัวแปรแล้ว สามารถแสดงค่าได้
ถูกต้อง
การแสดงผลหน้าจอที่ต้องการ
คะแนนที่ได้ ........ คะแนน เกรด .........
Your score ………….. Grade …………
ส่งงานใน Classstart หัวข้อแบบฝึกหัด ตั้งชื่อ grade_id.php
ฝึกปฏิบัติในชั้น
1. เขียนโปรแกรมแสดงเลข 1 ถึง 10
2. เขียนโปรแกรมแสดงเลข 10 ถึง 1
3. เขียนโปรแกรมบวกเลข 1 ถึง 10
4. เขียนโปรแกรมพิมพ์เลขคู่ระหว่ำง 0-20
5. เขียนโปรแกรมพิมพ์เลขคี่ระหว่ำง 0-20
6. เขียนโปรแกรมพิมพ์แสดงเดือนทั้ง 12 เดือน
แต่ละกลุ่มนำเสนอพร้อม ส่ง flow chart โปรแกรม
จากคาสั่งเงื่อนไขแบบต่างๆ ให้นิสิตแบ่งกลุ่มเขียนโปรแกรมดังนี้
แนวข้อสอบกลางภาค
• การประยุกต์ใช้คาสั่งทั้งหมดที่เรียนมา (ถึงคาสั่งเงื่อนไขในวันนี้)
• สามารถ open book ได้
• นาคอมพิวเตอร์มาประมวลผล

More Related Content

PPTX
Introduction to Ostinato , network packet crafting and generator.
PDF
UEFI時代のブートローダ
PDF
UEFIで始めるLinux From Scratch
PDF
シリコンバレー出向報告(ミクシィ社内報告会・公開用)
PDF
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
PDF
SMTPのSTARTTLSにおけるTLSバージョンについて
PDF
TechOvin 2019 - L'alimentation des brebis laitières en pratique
PDF
La persistance de la lactation : modélisation des courbes de lactation en ovi...
Introduction to Ostinato , network packet crafting and generator.
UEFI時代のブートローダ
UEFIで始めるLinux From Scratch
シリコンバレー出向報告(ミクシィ社内報告会・公開用)
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
SMTPのSTARTTLSにおけるTLSバージョンについて
TechOvin 2019 - L'alimentation des brebis laitières en pratique
La persistance de la lactation : modélisation des courbes de lactation en ovi...

What's hot (20)

PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
PDF
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
PDF
Uberaba em Dados - 6/7 - Agronegócio
PDF
PDF
DPDKによる高速コンテナネットワーキング
PPS
Association card katakana
PDF
pixivのインフラを支える技術
PDF
STMとROSをシリアル通信させて移動ロボットを作る
PDF
大規模サービスを支えるネットワークインフラの全貌
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
PPTX
2人でOpenStackを開発環境に導入した話
PDF
1 alimentation chevres
PDF
MCC CTF講習会 pwn編
PDF
ELFの動的リンク
PDF
FRRouting Overview and Current Status
PDF
Task Spooler を試した
PDF
30 รูปแบบการจัดกิจกรรมโดยยึดผู้เรียนเป็นสำคัญ
PDF
ชีววิทยา 7 วิชาสามัญ+เฉลย'55
PDF
Introduction to Initramfs - Initramfs-tools and Dracut
PDF
Python and GObject Introspection
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Uberaba em Dados - 6/7 - Agronegócio
DPDKによる高速コンテナネットワーキング
Association card katakana
pixivのインフラを支える技術
STMとROSをシリアル通信させて移動ロボットを作る
大規模サービスを支えるネットワークインフラの全貌
GPU仮想化最前線 - KVMGTとvirtio-gpu -
2人でOpenStackを開発環境に導入した話
1 alimentation chevres
MCC CTF講習会 pwn編
ELFの動的リンク
FRRouting Overview and Current Status
Task Spooler を試した
30 รูปแบบการจัดกิจกรรมโดยยึดผู้เรียนเป็นสำคัญ
ชีววิทยา 7 วิชาสามัญ+เฉลย'55
Introduction to Initramfs - Initramfs-tools and Dracut
Python and GObject Introspection
Ad

Similar to Php เงื่อนไขต่างๆ (20)

PPTX
บทที่3 การควบคุมโปรแกรม
PDF
คำสั่งและเงื่อนไข [Web-Programming]
PDF
ฟังก์ชั่น Switch
PPTX
งานนำเสนอ1
PPT
Java Programming [3/12]: Control Structures
PDF
งานทำ Blog บทที่ 6
PPT
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
PPTX
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
PPTX
การเขียนคำสั่งควบคุมแบบมีทางเลือก
PDF
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
PDF
chapter 3 คำสั่งควบคุม
PPTX
Presentation2
PDF
การเขียนคำสั่งควบคุมแบบมีทางเลือก
PDF
ฟังก์ชั่น If หลายทางเลือก
PPTX
การเขียนคำสั่งควบคุมแบบมีทางเลือก.
PDF
02 controlflow php
PDF
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
PPTX
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (1)
PDF
พื้นฐานภาษาจาวา
บทที่3 การควบคุมโปรแกรม
คำสั่งและเงื่อนไข [Web-Programming]
ฟังก์ชั่น Switch
งานนำเสนอ1
Java Programming [3/12]: Control Structures
งานทำ Blog บทที่ 6
การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก ม.4/5 กลุ่ม 3
การเขียนคำสั่งควบคุมแบบมีทางเลือก
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
chapter 3 คำสั่งควบคุม
Presentation2
การเขียนคำสั่งควบคุมแบบมีทางเลือก
ฟังก์ชั่น If หลายทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือก.
02 controlflow php
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (1)
พื้นฐานภาษาจาวา
Ad

Php เงื่อนไขต่างๆ