โปรแกรม php https://onecompiler.com/php
ข้อ 2 เขียนโปรแกรม โดยใช้ if-else
โปรแกรมนี้จะรับค่าตัวเลขจากผู้ใช้ผ่านฟังก์ชัน readline() แล้วแปลงเป็นจำนวนเต็ม (int).
ใช้ if เพื่อตรวจสอบว่าตัวเลขเป็นบวก (> 0).
หากเป็นบวก จะตรวจสอบต่อว่าเป็นเลขคู่หรือเลขคี่ แล้วแสดงผลลัพธ์. positive even number / positive odd number
หากตัวเลขเป็นลบ (< 0), ตรวจสอบเงื่อนไขว่าตัวเลขเป็นลบ และตรวจสอบต่อว่าเป็นเลขคู่หรือเลขคี่. negative even number / negative odd number
หากตัวเลขไม่ใช่บวกหรือลบ (หมายถึงตัวเลขเป็นศูนย์), จะใช้ else แสดงข้อความว่าตัวเลขเป็นศูนย์ The number is zero
ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับคำสั่งเลือกเงือนไข If If Else และ Switch เพื่อควบคุมการทำงานของโปรแกรมในภาษา PHP
ในการเขียนโปรแกรม อาจจะมีเงือนไขหรือข้อกำหนดบางอย่างที่คุณต้องการให้โปรแกรมทำงานแตกต่างกันไป การตัดสินใจจึงเป็นเรื่องธรรมดาที่เกิดขึ้นทั้งในการเขียนโปรแกรมและในชีวิตประจำวัน ยกตัวอย่างเช่น ถ้าคุณมีเงินมากกว่า 100 เหรียญ คุณจะซื้อวิดีโอเกม แต่ถ้าคุณไม่เงินไม่พอคุณจะซื้อหนังสือแทน
เราจะมาเริ่มกับคำสั่งที่พื้นฐานที่สุดสำหรับคำสั่งเลือกเงื่อนไข คำสั่ง If
คำสั่ง If เป็นคำสั่งควบคุมที่พื้นฐานที่สุดในการเขียนโปรแกรม มันใช้สำหรับควบคุมการทำงานในกรณีที่เงื่อนไขเป็นจริง นี่เป็นรูปแบบการใช้งานของคำสั่ง If ในภาษา PHP
if (expression){
statements
}
การตรวจสอบเงือนไขของคำสั่ง If นั้น เกิดจากการประเมิน expression ถ้าหากเป็นจริงโปรแกรมจะทำงานในบล็อคของคำสั่ง If ถ้าหากไม่เป็นจริงโปรแกรมจะข้ามการทำงานไป มาดูตัวอย่างการใช้งาน
<?php
$number = 10;
if ($number == 10) {
echo "Number is 10.";
}
?>
ในตัวอย่าง เรามีตัวแปร $number ในการเก็บค่าของตัวเลข เนื่องจาก Expression เป็นจริง นั่นคือในตัวแปรมีค่าเท่ากับ 5 โปรแกรมจึงทำงานในบล็อคของคำสั่ง If และแสดงข้อความ "Number is equal 5."
Number is equal 10.
นี่เป็นผลลัพธ์ของโปรแกรม
มาดูตัวอย่างเพิ่มเติมสำหรับการใช้คำสั่ง If กับเงือนไขที่ซับซ้อนขึ้น
<?php
$username = "admin";
$password = "1234";
if ($username == "admin" && $password == "1234") {
echo "Login";
}
?>
ในตัวอย่าง เป็นการตรวจสอบการเข้าสู่ระบบของเว็บไซต์ เราได้สร้าง Expression ที่ซับซ้อนขึ้นโดยมีตัวแปร $username และ $password เพื่อให้ในบล็อคคำสั่งทำงานชื่อผู้ใช้ต้องเป็น "admin" และรหัสผ่านต้องเป็น "1234" และเนื่องจากค่าในตัวแปรทำให้ Expression เป็นจริง ทำให้โปรแกรมแสดงข้อความว่า "Login"
คุณอาจจะลองเปลี่ยนค่าในตัวแปรเป็นค่าอื่น จะพบว่าในบล็อคคำสั่ง If ไม่ทำงานเพราะว่าเงือนไขที่ให้ไม่เป็นจริง
คำสั่ง If Else ใช้สำหรับตรวจสอบเงื่อนไขเช่นเดียวกับคำสั่ง If แต่ในการทำงานจะมีการเพิ่มบล็อคของคำสั่ง else เข้ามาถ้าหากเงือนไขในคำสั่ง If ไม่เป็นจริง มาดูตัวอย่างการใช้คำสั่ง If Else ในภาษา PHP
<?php
$money = 80;
if ($money >= 100) {
echo "Buy a video game.";
} else {
echo "Buy a book.";
}
?>
ในตัวอย่างเป็นการใช้งานคำสั่ง If Else กับสถาณการณ์ที่เราได้พูดถึงก่อนหน้านี้ เรามีตัวแปร $money เก็บค่าของจำนวนเงิน ถ้ามีเงินมากกว่าหรือเท่ากับ 100 เหรียญเราจะซื้อวิดีโอเกม แต่ถ้าไม่ใช่จะซื้อหนังสือแทน และเนื่องจากเราได้กำหนดค่าในตัวแปรเพียง 80 โปรแกรมจึงทำงานในบล็อคของคำสั่ง Else แทน
Buy a book.
นี่เป็นผลลัพธ์ของโปรแกรมเมื่อมีเงินไม่เพียงพอ คุณลองเปลี่ยนค่าในตัวแปรให้มากกว่า 100 และดูผลลัพธ์ของมันใหม่อีกครั้ง
ในคำสั่ง If-Else เป็นคำสั่งในการสร้างเงือนไขแบบสองทางเลือกหรือจริงและไม่จริงเท่านั้น ในภาษา PHP คุณสามารถสร้างเงือนไขแบบหลายทางเลือกได้โดยการใช้คำสั่ง Else-If สำหรับเงือนไขเพิ่มเติมที่ต้องการ เราจะยกตัวอย่างในการใช้กับโปรแกรมคำนวณเกรด
<?php
$score = 79;
if ($score >= 80) {
echo "Your grade is A.";
} else if ($score >= 70) {
echo "Your grade is B.";
} else if ($score >= 60) {
echo "Your grade is C.";
} else if ($score >= 50) {
echo "Your grade is D.";
} else {
echo "Sorry, you got grade F.";
}
?>
ในตัวอย่าง เป็นโปรแกรมคำนวณเกรดโดยการคำนวณจากคะแนนที่มี เราใช้คำสั่งตรวจสอบเงือนไข If-Else แบบหลายทางเลือกในการสร้างเงือนไขใสแต่ละช่วงคะแนนและเกรดที่จะได้รับ
Your grade is B.
นี่เป็นผลลัพธ์เมื่อรันโปรแกรม เพราะว่าคะแนน 79 อยู่ในช่วงของเกรด B ที่เราได้กำหนดในเงือนไข คุณอาจจะลองเปลี่ยนเงือนไขเป็นแบบอื่นเพื่อดูผลลัพธ์
ในภาษา PHP ยังมีคำสั่งเลือกเงือนไขอีกคำสั่งหนึ่งคือคำสั่ง Switch ซึ่งการทำงานของคำสั่งนี้จะคล้ายกับคำสั่ง If Else-If ซึ่งเป็นการเลือกแบบหลายทางเลือก แต่ในคำสั่ง Switch จะใช้สำหรับเปรียบเทียบกับค่าคงที่โดยตรงที่ไม่ใช่ Expression มาดูตัวอย่างการใช้งาน
<?php
$abb = "th";
switch ($abb) {
case "de":
$country = "Germany";
break;
case "th":
$country = "Thailand";
break;
case "hu":
$country = "Hungary";
break;
case "tr":
$country = "Turkey";
break;
default:
$country = "Unknown country";
}
echo "Your country is $country.";
?>
ในตัวอย่างเป็นโปรแกรมในการหาชื่อประเทศจากรหัสย่อโดยการใช้คำสั่ง Switch เรามีตัวแปร $abb สำหรับเก็บรหัสย่อของประเทศในโลก ในการใช้งานจะส่งเป็นอากิวเมนต์เข้าไปยังคำสั่ง Switch และโปรแกรมจะทำการตรวจสอบกับเงือนไขในแต่ละ case เมื่อเงือนไขตรงกับ Case ใดๆ โปรแกรมจะทำงานคำสั่งหลังจาก Case นั้นจนสิ้นสุดบล็อคคำสั่ง Switch เราจำเป็นต้องใช้คำสั่ง break เพื่อหยุดการทำงานของโปรแกรมสำหรับแต่ละ Case
Your country is Thailand.
นี่เป็นผลลัพธ์เมื่อรันโปรแกรม ในตัวแปร $country จะมีค่าเป็น "Thailand" เพราะว่าตรงกับเงื่อนไขใน case "th"