คำสั่ง IF/THENคำสั่ง IF / Then
เป็นคำสั่งสำหรับตรวจสอบตามเงื่อนไขที่ต้องการ
การใช้คำสั่งจะมีรูปแบบ IF(เงื่อนไข) { ทำคำสั่งในส่วนนี้ถ้าเงื่อนไขเป็นจริง} ตัวอย่างเช่น
<?php $a = 1;
if($a) { echo "True!"; }?>
จากตัวอย่าง ให้ $a เก็บค่า จริง(true) 1 มีค่าเท่ากับจริง 0
มีค่าเท่ากับเท็จมี ชนิดตัวแปรเป็นบูลีน เพราะฉะนั้นเมื่อเก็บค่าจริงในตัวแปร $a จึงสามารถ แปรเป็นประโยคจากคำสั่งตัวอย่างได้ว่า
“ถ้าจริงแสดงข้อความว่า True”
ตัวอย่างต่อไปนี้จะเป็นการใช้คำสั่ง If/ Then/ Else
<?php $a = 5;
$b = "10"; if($a > $b) { echo "$a มีค่ามากกว่า $b";
} else { echo "$a ไม่มากกว่า $b";
}?> การเพิ่มคำสั่ง else ต่อจากคำสั่ง then หมายถึง ถ้าเงื่อนไขเป็นเท็จจะให้ทำอะไร จากโปรแกรม
ตัวอย่าง เราให้ $a เก็บค่า 5 และ $b
เก็บค่า 10 เอาไว้ เมื่อตรวจสอบเงื่อนไขว่า ถ้า 5 > 10 ให้แสดงข้อความว่า “5 มีค่ามากกว่า 10” มิฉะนั้นให้แสดงข้อความว่า “5 ไม่มากกว่า 10” ข้อสังเกตการประกาศชนิดของตัวแปร PHP
จะไม่สนใจว่า $a จะเก็บเป็นตัวเลขหรือข้อความแต่สามารถเปรียบเทียบตามเงื่อนไขได้ ในตรงนี้ PHP จะมองเป็นตัวเลข
การใช้เครื่องหมาย {} คร่อมระหว่างคำสั่งจะต้องมีหลังเงื่อนไขที่เป็นจริงและหลังเงื่อนไขเป็นเท็จเสมอในกรณีที่มีหลายคำสั่งให้ใช้เครื่องหมาย “;”หลังคำสั่งทุก ๆ คำสั่ง
ตัวอย่างการใช้ if/elseif/else
<?php if($a == $b) {
// ถ้า $a มีค่าเท่ากับ $b จริงทำคำสั่งที่ 1
// ทำคำสั่งที่ 2 หากเป็นจริง } elseif ($a > $b) { // ถ้า $a มากกว่า $b จริงให้ทำคำสั่งนี้ } elseif($a < $b) { // ถ้า $a น้อยกว่า $b จริงให้ทำคำสั่งนี้ } else { // ถ้าเงื่อนทั้งหมดที่กล่าวมาไม่จริงให้ทำคำสั่งนี้ }?>
การใช้คำสั่ง Switch
การใช้คำสั่ง if/elseif/else/ ถ้าต้องการตรวจสอบเงื่อนไขที่หลายทางทำให้การเขียน elseif และเงื่อนไขเพิ่มมากด้วย
PHP สนับสนุนการใช้คำสั่ง Switch เช่นเดียวกับภาษาซี
ดังตัวอย่าง
<?php $a = "100";
switch($a) { case(10): echo "ตัวแปรเก็บค่า 10 เอาไว้";
break; case (100): echo "ตัวแปรเก็บค่า 100 เอาไว้<br>";
case (1000): echo "ตัวแปรเก็บค่า 1000 เอาไว้";
break; default: echo "<p>แน่ใจว่าเป็นตัวเลขหรือไม่";
}?>
การใช้คำสั่ง Switch จะมี 4 ส่วนด้วยกันได้แก่
1. switch- เป็นส่วนที่กำหนดค่าหรือนิพจน์ ที่จะเปรียบเทียบกับ case ที่ตามมา จากตัวอย่างจะเห็นว่า switch($a) มีความหมายว่า Switch(100)
2. case- นิพจน์ case เป็นส่วนสำหรับเปรียบเทียบกับ
Switch ซึ่งเป็นหลายทางเลือกแต่จะมีทางเลือกที่ควรมีตรงกันเพียงหนึ่งเดียว เราสามารถใช้เงื่อนไขเหมือนกับ
if ได้เช่นเดียวกัน ถ้า case นั้นเป็นจริง คำสั่งหลังจากนั้นจะประมวลผลจนกระทั่งเจอคำสั่ง
Break การประมวลผลจะหยุดและออกจากคำสั่ง switch
ทั้งหมด
3. Break- หรือจุดหยุดกระทำ จะควบคุมให้โปรแกรมกระโดดคำสั่ง switch ทั้งหมด
4. default- เป็นการใช้กับ switch กรณีพิเศษที่ต้องการ
switch จะเลือกทางนี้ ถ้าหากว่าเงื่อนไขใน case ต่าง ๆส่วนบนไม่ถูกเลือกหรือไม่จริง
คำสั่ง For Loop
คำสั่ง For Loop
คำสั่งลูป for เป็นคำสั่งที่ใช้ในการควบคุมให้เกิดการทำงานได้หลาย ๆ รอบ
จำนวนรอบกำหนดได้จากตัวแปรจำนวนค่าเริ่มต้น คำสั่งเงื่อนไข และค่า
ตัวแปรที่เปลี่ยนไปในแต่ละรอบ ตัวอย่างเช่น
<?php
for($i = 0; $i < 10 ; $i++) {
echo $i<br>;
}
?>
คำสั่งลูป for จำเป็นต้องมี 3 ส่วนด้วยกันคือ
• ค่าเริ่มต้น จากตัวอย่าง $i = 0; คือการกำหนดให้ค่าเริ่มต้นเก็บในตัวแปร $i มีค่าเท่ากับ 0
• ส่วนของการเปรียบเทียบ ก่อนการวนรอบทุกครั้งจะมีการตรวจสอบเงื่อนไขก่อนเสมอ ถ้าเงื่อนไขที่ตรวจสอบนั้นเป็นจริงจึงจะมีการทำงานตามคำสั่งในลูป แต่ถ้าผลการตรวจสอบเงื่อนไขแล้วผลเป็นเท็จโปรแกรมจะสิ้นสุดการวนรอบ
• ส่วนของการกำหนดค่าที่จะเปลี่ยนไปในแต่ละรอบ จากตัวอย่าง $i++ หมายถึง การเพิ่มตัวแปร $i ครั้งละ 1
ในการเขียนทั้ง 3 ส่วนจะต้องมีเครื่องหมาย “;” คั่นเสมอ
จากตัวอย่างเป็นการแสดงเลข 0 ถึง 9
คำสั่ง Foreach Loop
คำสั่ง Foreach loop เป็นคำสั่งที่ยอมให้เราเข้าไปถึงข้อมูลที่อยู่ภายใน
อะเรย์ได้โดยตรง เช่น
<?php
$array = array("name" => "Jet","occupation" =>"Bounty Hunter");
foreach ($array as $val) {
echo "<P>$val";
}
?>
ผลการทำงานของโปรแกรม
Jet
Bounty Hunter
เราสามารถเขียนเพื่อต้องการให้แสดงค่าในอะเรย์ด้วย foreach loop
ดังนี้
<?php
$array = array("name" => "Jet","occupation" =>"BountyHunter");
foreach ($array as $key => $val) {
echo "<P>$key : $val";
}
?>
ผลการทำงานของโปรแกรม
name : Jet
occupation : Bounty Hunter
คำสั่งลูป while
คำสั่งลูป while เป็นคำสั่งที่สำคัญมากคำสั่งหนึ่ง การวนลูปเริ่มด้วยการ
ตรวจสอบเงื่อนไขก่อนว่าเป็นจริง จึงจะประมวล
ผลและทำซ้ำไปเรื่อย ๆ จนกระทั่งเงื่อนไขเป็นเท็จจึงหยุดการทำซ้ำ
และออกจากลูปในที่สุด ในการใช้ลูป while สำหรับเขียนโปรแกรม
ให้ทำงานแบบฐานข้อมูลบนเว็บนิยมใช้สำหรับแสดงผลจำนวนแถว
จากตารางฐานข้อมูลดังนี้
<?php
$bg = "DDDDDD";
while ($data = mysql_fetch_array($result)) {
if($bg == "DDDDDD"){
$bg="EEEEEE";
}else{
$bg="DDDDDD";
}
echo ‘<tr bgcolor="$bg"> ‘,
echo $data[name];
echo ‘</tr>’;
?>
จากตัวอย่าง เป็นการใช้คำสั่งลูป while เพื่อให้แสดงข้อมูลในตารางทั้ง
หมดและในแต่ละแถวให้มีสีต่างกันคือสีเทาอ่อนกับสีเทาสลับกัน
เราสามารถใช้คำสั่ง Continue เพื่อต้องการให้ไปทำเงื่อนไขที่กำหนด
ขึ้นมาได้ เช่น
<?php
while($row = mysql_fetch_array($result)) {
if($row['name'] ! = "ทวีรัตน์")) {
continue;
} else {
// do something with the row
}
?>
การใช้คำสั่งลูป DoWhile
การใช้ลูป Do while เป็นคำสั่งที่สำคัญอีกคำสั่งหนึ่ง การใช้โดยทั่วไปจะเหมือนกับคำสั่งลูป
While ชนิดทั่วไปแต่ยกเว้นถ้ามีนิพจน์ While ต่อท้ายลูปที่สมบูรณ์แล้วข้อแตกต่างระหว่างลูป
Do while และลูป while ได้แก่ลูป Do while จะประมวลผลอย่างน้อยหนึ่งคำสั่งโดยไม่จำเป็น
ต้องตรวจสอบเงื่อนไขก่อน เมื่อเจอคำสั่ง While ในตอนท้ายจึงตรวจสอบเงื่อนไขว่าเป็นจริงหรือ
เท็จ ถ้าเป็นจริงจะประมวลผลในลูปต่อไปถ้าเป็นเท็จโปรแกรมจะออกจากลูป ให้พิจารณาจาก
ตัวอย่างต่อไปนี้
<?php
$i = 0;
do {
print $i;
} while ($i>0);
?>
โปรแกรมนี้จะแสดง 0 หนึ่งครั้งเมื่อเจอนิพจน์ While ($i >0); ซึ่งเป็นเท็จก็จะออกจากลูป
ซึ่งแตกต่างจากโปรแกรมด้านล่างที่ไม่มีการพิมพ์ข้อความใด ๆ เลยเพราะเงื่อนไขเป็นเท็จ
ตั้งแต่ตอนต้น
<?php
$i = 0;
while($i > 0){
print $i;
}
?>
อย่างไรก็ตาม การนำลูป Do While มาใช้เขียนโปรแกรมในระบบฐานข้อมูลบนเว็บไม่นิยมนำมา
ใช้เลย
การสร้างฟังก์ชันใหม่
PHP เหมือนกับโปรแกรมภาษาทั่วไปที่มีฟังก์ชัน (Function) สำหรับเขียนโปรแกรมเช่น
ฟังก์ชัน print() ฟังก์ชัน include() เป็นต้น แต่ฟังก์ชันดังกล่าวข้างต้นเป็นฟังก์ชันมาตรฐาน
ทั่วไปที่มีมากับโปรแกรมแล้ว ในเนื้อหานี้จะเป็นการสร้างฟังก์ชันโดยการเขียนขึ้นมาเอง โดยตัว
ของเราเองเพื่อการเรียกใช้ในครั้งต่อไป
ตัวอย่างฟังก์ชันสำหรับคำนวณวันเดือนปีการ
เกษียณอายุราชการ
<?php
function RetireDate($DateOfBirth){
$date = substr($DateOfBirth,0,2);
$month = substr($DateOfBirth,3,2);
$year = substr($DateOfBirth,6,4);
if(($date>= '2' && $month =='10') || ($month =='11' || $month =='12')){
$retire =$year+61.'-09-30';
}else {
$retire =$year+60.'-09-30';
}
return $retire;
}
?>
การเรียกใช้ฟังก์ชันที่เขียนขึ้นใหม่ ใช้คำสั่งดังนี้
<?php
$DateOfBirth =’21-10-2005’;
echo retiredate($DateOfBirth);
?>
การใช้โปรแกรมเชิงวัตถุด้วย PHP
PHP สนับสนุนการใช้โปรแกรมเชิงวัตถุ ในรูปแบบการใช้คลาส เหมือนกับภาษา Java
ซึ่งเหมือนกับหลักการเขียนโปรแกรม OOP ทั่ว ๆไป ดังตัวอย่างการเขียนโปรแกรมเพื่อสร้าง
Class เก็บชื่อ นามสกุล และหมายเลขโทรศัพท์ ดังนี้
<?php
class address_book_entry {
var $first;
var $last;
var $number;
function set_name($first, $last) {
$this->first = $first;
$this->last = $last;
}
function set_number($number) {
$this->number = $number;
}
function display_entry() {
echo "<p>Name: " . $this->first . " " . $this->last;
echo "<br>Number: " . $this->number;
}
}
?>
การเรียกใช้คลาส
<?php
$entry = &new address_book_entry;
$entry->set_name("Bin","Tossapon");
$entry->set_number("5-5555-5555");
$entry->display_entry();
?>
ผลการทำงาน
Name: Bin Tossapon
Number: 5-5555-5555
นอกจากนี้ เราสามารถเขียนโปรแกรมเพิ่มเติมจากคลาสที่มีอยู่แล้ว เป็นคลาสใหม่ที่ทำหน้า
ที่เหมือนกับคลาสเดิม ดังนี้
<?php
class address_book_entry2 extends address_book_entry {
var $email;
function set_email($email) {
$this->email = $email;
}
function display_entry2() {
echo "<p>Name: " . $this->first . " " . $this->last;
echo "<br>Number: " . $this->number;
echo "<br>Email: " . $this->email;
}
}
?>
การเรียกใช้
<?php
$entry = &new address_book_entry2;
$entry->set_name("Bin","Tossapon");
$entry->set_number("5-5555-5555");
$entry->set_email("mynameistossapon@hotmail.com");
$entry->display_entry();
?>
ผลการทำงาน
Name: Bin Tossapon
Number: 5-5555-5555
ไม่มีความคิดเห็น:
แสดงความคิดเห็น