PHP - ## ครูมาโนชญ์ #1.20

Download Report

Transcript PHP - ## ครูมาโนชญ์ #1.20

มาโนชญ์ แสงศิริ
ครูผู้ช่วย
โรงเรียนพิจิตรพิทยาคม
เดิม PHP ย่ อมาจาก Personal Home Page
1
ลักษณะของเว็บเพจ

แบบ Static ไม่มีการเปลี่ยนแปลงจนกว่าจะมีการ Upload ไฟล์ใหม่


มีการปรับปรุ งเว็บยาก เช่น HTML
แบบ Dynamic เพื่อให้มีการตอบสนองต่อผูใ้ ช้ได้ทนั ที





CGI (Common Gateway Interface)
Perl
DHTML
การแทรก Script ลงใน HTML
ASP PHP JSP ฯลฯ
2
Web Server

การทางานของ เว็บเพจ


Server ของเว็บเพจ เรี ยกว่า Web Server




Client/Server
IIS (Internet Information Services)
PWS (Personal Web Server)
Apache
Browser


Internet Explorer
Netscape
3
ลักษณะการทางานของ Internet
Response
Web Server
Request
Client
4
Static Web Pages



เป็ นเว็บเพจที่พฒั นาในระยะแรกๆ
มีการตอบสนองต่อผูใ้ ช้ที่จากัด เนื่องจากมีการกาหนดรู ปแบบการกระทา
ต่างๆไว้ล่วงหน้า
รู ปแบบของ Page จึงเป็ นลักษณะเดิมอยูเ่ สมอ
5
3. Web server locates .html file
1. Author Writes HTML
4. HTML stream (from .htm page)
Returned to browser
Web Server
2. Client request Webpage
5. Browser Processes HTML
And displays Pages
Client
6
Dynamic Web Pages


มีโครงสร้างเหมือนกับ Static Web Pages
แต่มีชุดคาสัง่ Script ที่ทาให้ HTML tag สามารถสนองต่อการ
กระทาต่างๆ ได้ และสามารถกาหนดการทางานได้ เช่น



สัง่ ให้คานวณหลังคลิกปุ่ ม
นาข้อมูลจากฐานข้อมูลขึ้นมาแสดงได้
การทาให้ภาพเคลื่อนไหวบน Page ได้
7
Script
เว็บเพจที่กาหนดการกระทาต่างๆเพื่อสามารถรองรับสถานการณ์ ที่ความว่าจะเกิดขึ้นได้ทนั ที

Client-Side Script


จะถูกแปล Script โดย Browser เช่น VBScript, JavaScript
Server-Side Script

จะถูกแปลและประมวลผลโดย Web Server เช่น ASP , PHP ,JSP
8
Client-Side Script
2. Web Server lacate .htm File
3. HTML stream (from .htm page)
Returned to browser
4. Browser Process Client-side script
Web Server
1. Client Request Webpage
5. Browser Processes HTML
And displays Pages
Client
9
Server-Side Script
2. Web server Instruction File
3. Web server processes instruction to create HTML
4. HTML Stream returned to Browser
Web Server
1. Client Request Webpage
5. Browser Processes HTML
And displays Pages
Client
10
Scripting Language


PHP เป็ นภาษาจาพวก scripting language คาสัง่ ต่างๆจะเก็บอยูใ่ นไฟล์ที่
เรี ยกว่า สคริ ปต์ (script) และเวลาใช้งานต้องอาศัยตัวแปลชุดคาสัง่ ตัวอย่าง
ของภาษาสคริ ปก็เช่น JavaScript, Perl เป็ นต้น
ลักษณะของ PHP ที่แตกต่างจากภาษาสคริ ปต์แบบอื่นๆ คือ PHP ได้รับการ
พัฒนาและออกแบบมา เพื่อใช้งานในการสร้างเอกสารแบบ HTML โดย
สามารถสอดแทรกหรื อแก้ไขเนื้อหาได้โดยอัตโนมัติ ดังนั้นจึงกล่าวว่า PHP
เป็ นภาษาที่เรี ยกว่า server-side หรื อ HTML-embedded scripting language
เป็ นเครื่ องมือที่สาคัญชนิดหนึ่งที่ช่วยให้เราสามารถสร้างเอกสารแบบ
Dynamic HTML ได้อย่างมีประสิ ทธิภาพและมีลูกเล่นมากขึ้น
11
ลักษณะเด่ นของ PHP









ใช้ได้ฟรี
PHP เป็ นโปรแกรมวิง่ ข้าง Sever ดังนั้นขีดความสามารถไม่จากัด
PHP วิง่ บนเครื่ อง UNIX,Linux,Windows ได้หมด
เรี ยนรู ้ง่าย เนื่องจาก PHP ฝั่งเข้าไปใน HTML และใช้โครงสร้างและไวยากรณ์ภาษาง่ายๆ
เร็ วและมีประสิ ทธิภาพ
ใช้ร่วมกับ XML ได้ทนั ที
ใช้กบั ระบบแฟ้ มข้อมูลได้
ใช้กบั ข้อมูลตัวอักษรได้อย่างมีประสิ ทธิภาพ
ใช้กบั โครงสร้างข้อมูลใช้ได้แบบ Scalar,Array,Associative array
ใช้กบั การประมวลผลภาพได้
12
ติดตั้ง PHP โดยใช้ Apache จาลองเป็ น Web Server


สาหรับการติดตั้ง Apache ผมจะแนะนาโปรแกรม Appserv ซึ่ง
เป็ น โปรแกรมที่รวมเอา package
Appserv คือ โปรแกรมที่รวมเอา Package ประกอบด้วย




Apache Web Server
PHP Script Language
MySQL Database
phpMyAdmin Database Manager
13
การเซ็ต EditPlus ให้ เชื่อมต่ อกับ Weberver


เปิ ดโปรแกรม Edit Plus แล้วเข้าไปที่เมนู ToolsPreferences
จากนั้นไปกดที่ Tools

กด Add เพื่อเพิ่มรายการ

กด Edit เพื่อแก้ไขรายการเดิม
(ซึ่งปกติมนั จะอ่านที่อยูบ่ นสุ ดเสมอ)

จากนั้นกาหนดชื่อ Host หรื อ IP

แล้วกาหนด Folder ที่จะทางาน

จากนั้นกลับที่หน้าจอหลัก
แล้วลองเขียนโปรแกรม PHP
แล้วกด Ctrl+B เพื่อทดสอบ
14
Run ดังนี้ http://localhost
15
ใช้ โปรแกรม Notepad หรือ editor สร้ างเอกสาร
PHP โดยมีคาสั่ งดังนี้
sample.php
<html>
<title>ทดสอบ Script แรก</title>
<body>
<?php
echo "ผมสามารถเขียน PHP ได้แล้วครับ";
?>
</body>
</html>
ให้ บันทึกไฟล์ ลงที่โฟลเดอร์
C:\AppServ\www
16
คาอธิบายหรือ Comment ในภาษา PHP



ถ้าเราต้องการเขียนคาอธิบายในส่ วนใดๆก็ตามของสคริ ปต์
เราก็จะสามารถทาได้โดยใช้ /* ... */ เหมือนในภาษาซี
หรื อ // เหมือนในภาษาจาวา หรื อ # เหมือน shell script โปรดสังเกตว่า
// ใช้เขียนนาคาอธิบายในภายบรรทัดหนึ่งๆเท่านั้น ส่ วน # ใช้เริ่ มต้นของ
บรรทัดที่เขียนคาอธิบาย
<?
sample2.php # comment
$a = 41; // set $a to 41.
$b =10; // set $b to 10.
$b += $a; /* add $a to $b */
echo $b." \n";
?>
17
คาสั่ งพืน้ ฐาน
คาสั่ ง echo

รู ปแบบคาสั่ ง
echo ข้อความที่1,ข้อความที่1,ข้อความที่1,....;
ตัวอย่ าง
<?
echo "Hello Word <br>";
echo "Hello PHP Programming";
echo “<br>”;
sample3.php
echo "PHP Programming";
?>
18
ชนิดของข้ อมูลและตัวแปร

สาหรับการเขียนโปรแกรมสาหรับภาษาคอมพิวเตอร์ระดับสู ง สิ่ งทีจ่ ะขาดเสี ย
มิได้คือ การกาหนดและใช้ตวั แปร (variable) ตัวแปรในภาษา PHP
จะเหมือนกับในภาษา Perl คือเริ่ มต้นด้วยเครื่ องหมาย dollar ($) โดย
เราไม่จาเป็ นต้องกาหนดแบบของข้อมูล (data type) อย่างเจาะจง
เหมือนในภาษาซี เพราะว่า ตัวแปลภาษาจะจาแนกเองโดยอัตโนมัติวา่ ตัวแปร
ดังกล่าว ใช้ขอ้ มูลแบบใด ในช่วงเวลานั้นๆ เช่น ข้อความ จานวนเต็ม จานวน
ที่มีเลขจุดทศนิยม ตรรก เป็ นต้น
19
ชนิดของข้ อมูลและตัวแปร






Integer จานวนเต็มบวก และจานวนเต็มลบ เลขฐานสิ บ ฐานแปด และฐานสิ บหก
Float เก็บจานวนจริ งทั้งบวกและลบ ทั้งมีทศนิยม และไม่มีทศนิยม
String เก็บจานวนตัวเลข และ ข้อความ
Array เก็บข้อมูลทเป็ นชุด หรื อ อาร์เรย์
Object เก็บข้อมูลในลักษณะออปเจ็กต์เพื่อการเรี ยกใช้เป็ น
Class Object หรื อ FunctionType juggling เก็บข้อมูลในลักษณะเฉพราะหรื อผูท้ ี่ใช้เพิม่ เข้ามา
20
หลักการตั้งชื่อ ตัวแปร


$var-name=value;
ขอบเขตการตั้งชื่อตัวแปร
- ขึ้นต้นด้วยเครื่ งหมาย $ แล้วตามด้วยตัวอักษร A-Z,a-z
- มีความยาวไม่เกิน 255 ตัวอักษร
- ห้ามมีจุดทศนิยม หรื อช่องว่าง
- จะต้องไม่ตรงกับคาสงวน และควรตั้งชื่อ ให้มีความหมายใกล้เคียงกับ ค่าที่
เก็บ
- ตัวอักษรเล็กหรื อใหญ่จะเป็ นตัวแปรที่ไม่เหมือนกัน
- ถ้าตั้งตัวแปรมาใหม่ แล้วทับตัวแปรเก่า ค่าของตัวแปรเก่าจะหายไป
21
การตรวจสอบว่ าตัวแปร
sample4.php
sample5.php
การตรวจสอบชนิดของตัวแปร
การตรวจสอบว่าตัวแปรนี้มีการกาหนดค่าหรือไม่
gettype($var-name);
ตัวอย่างเช่น
isset($var-name);
ตัวอย่างเช่น
<?
$a=1234;
echo gettype($a);
?>
<?
$a=1234;
if (isset($a))
{
echo "มีการกาหนดค่าตัวแปร";
}
else
{
echo “ไม่มีการกาหนดค่าตัวแปร";
}
?>
22
การตรวจสอบว่ าตัวแปร
การตรวจสอบว่าตัวแปรนี้มีคา่ ว่างหรือไม่
empty($var-name);
<?
$a=1234;
if (empty($a))
{
echo "ตัวแปรมีคา่ ว่าง";
}
else
{
echo “ตัวแปรมีคา่ ไม่วา่ ง";
}
?>
sample6.php
23
การประกาศค่ าตัวแปร

1.Integer เก็บจานวนเต็มบวก และจานวนเต็มลบ เลขฐานสิ บ ฐานแปด และ
ฐานสิ บหก
$a=123;
$a=-123;
sample7.php
<?
$a=123;
$b=456;
$c=$a+$b;
echo $c;
?>
24
การประกาศค่ าตัวแปร(ต่ อ)

2. Float เก็บจานวนจริงทัง้ บวกและลบ ทัง้ มีทศนิยม
และไม่มท
ี ศนิยม
$a=1.23;
$a=-1.23;
<?
$a=123.45;
$b=456.78;
sample8.php
$c=$a+$b;
echo $c;
?>
25
การประกาศค่ าตัวแปร(ต่ อ)


3.String เก็บจานวนตัวเลข และ ข้อความ
$a="PHP Programming";
$a="1234567890";
<?
$a="PHP Programming";
$b="1234567890";
echo $a.”<br>”.$b;
?>
sample9.php
26
สั ญลักษณ์ พเิ ศษ

สัญลักษณ์ \n หมายถึงการขึ้นบรรทัดใหม่ เป็ น escape
character ตัวหนึ่ง (สาหรับตัวอื่นๆ โปรดดูในตาราง) เมื่อพิมพ์
ข้อความเป็ นเอาพุต และโปรดสังเกตว่า สาหรับการใช้งานภายในเอกสาร
HTML การขึ้นบรรทัดใหม่โดยใช้ \n จะแตกต่างจากการขึ้นบรรทัดโดย
ใช้ <BR> ใน HTML
Escaped characters \n newline
\r carriage
\t horizontal tab
\\ backslash
\$ dollar sign
\" double-quote
%% percent
27
ตัวแปร Array

เป็ นตัวแปรชุดที่มีการเก็บค่าตัวแปรที่มี ชนิดของข้อมูลเหมือนกัน เช่น เก็บ รายชื่อของ
พนักงาน อายุ เงินเดือน

Arrary 1 มิติ
$a[4];
$a[0]="Somchai";
$a[1]="Werachai";
$a[2]="Surachai";
$a[3]="Adisorn";
การประกาศตัวแปร
$a[5]
จะมีสมาชิก 6 ตัวคือ $a[0],$a[1],$a[2],$a[3],$a[4],$a[5]

28
ค่ าคงที่ Constant

คือ ค่ าทีก่ าหนดแล้ ว สามารถเรียกใช้ งานได้ ทุก ๆ ครั้ง ทีเ่ ราประกาศขึน้ มา
สามารถแบ่ งออกได้ เป็ น 2 ประเภทคือ
 1.ค่ าคงที่ PHP กาหนดมาให้ เป็ นค่ าทีเ่ ราสามารถนาไปใช้ งานได้ ทันที่
E_ERROR
แสดงข้อผิดพลาดที่ parse ตรวจหาไม่พบ
E_WARNING
แสดงเงือ
่ นไขให้ทราบ และทางานต่อไป
E_PARSE
การ parse ทาให้เกิดข้อผิดพลาดใน Program ทีไ่ ม่สามารถตรวจพบ
E_NOTICE
เมือ่ เกิดความผิดพลาด การเอ็กซิคต
ิ ์ยงั มีตอ
่ ไป
_FILE_
แสดงชือ
่ ไฟล์ทท
ี่ างานอยู่ เพือ
่ ตรวจสอบหาข้อผิดพลาด
_LINE_
แสดงจานวนบรรทัดของไฟล์ เพือ
่ ตรวจสอบหาข้อผิดพลาด
PHP_VERSION
แสดง V. ของ PHP ทีใ่ ช้งานอยู่
PHP_OS
แสดงระบบปฏิบตั ก
ิ ารทีใ่ ช้เป็ น Server
TRUE
ตรวจสอบค่าจริง
FALSE
ตรวจสอบค่าเท็จ
29
ค่ าคงที่ Constant (ต่ อ)

2.ค่ าคงทีท่ ผี่ ู้ใช้ กาหนดขึน้ เอง
เราสามารถกาหนดค่าคงที่ เหมือนกับการประกาศตัวแปร
รู ปแบบ
define(Constant-name,Value)
เมื่อ Constant-name ชื่อ ของค่าคงที่ Value ค่าที่จะกาหนดให้
เช่ น
define("name",“MANA TUDTU");
echo name;
define("old","21");
define ("add",“Phichit");
30
Operator และ การเปรียบเทียบทางคณิต ฯ
ใน PHP มีโอเปอเรเตอร์ดว้ ยกันทั้งหมด 6 ชนิดด้วยกันดังนี้ จะยกตัวอย่างที่จาเป็ น
ที่เราต้องนาไปใช้เท่านั้นครับ
1.Arithmetic Operators
โอเปอเรเตอร์ทางคณิตศาสตร์
2.String Operators
โอเปอเรเตอร์เชิงข้อความ
3.Assignment Operators
โอเปอเรเตอร์กาหนดค่า
4.Logical Operators
โอเปอเรเตอร์เชิงตรรกศาสตร์
5.Comparison Operators
โอเปอเรเตอร์เชิงเปรียบเทียบ
6.Operator Precedence
โอเปอเรเตอร์เพิม
่ -ลดค่า
31
Operator และ การเปรียบเทียบทางคณิต ฯ (ต่ อ)

1. Arithmetic Operators โอเปอเรเตอร์ทางคณิ ตศาสตร์
ตัวอย่าง
ความหมาย
ผลลัพธ์
$a + $b
บวก
ผลบวกของ $a และ $b.
$a - $b
ลบ
ผลลัพธ์จาก $b ลบออกจาก $a.
$a * $b
คูณ
ผลคูณของ $a และ $b.
$a / $b
หาร
ผลหารของ $a และ $b.
$a % $b
หารเอาเศษ
เศษจากการหารของ $a หารโดย $b.
32
Operator และ การเปรียบเทียบทางคณิต ฯ (ต่ อ)

2. String Operators เป็ น โอเปอเรเตอร์ที่ใช้กบั ข้อความซึ่งจะ
ใช้ (.) เพียง โอเปอเรเตอร์เดียว
ตัวอย่ าง
sample10.php
<?
$a = "PHP";
$b = "Programming";
$c = $a.$b;
echo $c;
?>
Out Put
PHPProgramming
33
Operator และ การเปรียบเทียบทางคณิต ฯ (ต่ อ)
3. Assignment Operators โอเปอเรเตอร์กาหนดค่า
โอเปอเรเตอร์พ้นื ฐานคือ "=" คือคุณจะต้องคิดว่าค่าทางซ้ายมือของโอเปอเรเตอร์
คือผลลัพธ์จากคาสัง่ ที่กระทาทางขวามือ

$a = 3;
$a += 5; // $a = 8, มีความหมายว่า $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // $b = "Hello There!",เหมือนกับ $b = $b .
"There!";
34
Assignment Operators(ต่ อ)
เครือ
่ งหมาย
ความหมาย
รูปแบบ
ผลลัพธ์ถา้ กาหนดให้ $a=2
$a=1
1
=
กาหนดค่า
+=
เพิม
่ ค่า
$a += 1
3
-=
ลบค่า
$a -= 1
1
*=
คูณค่า
$a *= 1
2
/=
หารค่า
$a /= 1
2
35
Operator และ การเปรียบเทียบทางคณิต ฯ (ต่ อ)

4. Logical Operators โอเปอเรเตอร์เชิงตรรกศาสตร์
ตัวอย่าง
$a and $b
ความหมาย
And
ผลลัพธ์
จริงก็ตอ
่ เมือ
่ $a และ $b เป็ นจริง
$a or $b
Or
จริงถ้า $a หรือ $b ตัวใดตัวหนึ่งเป็ นจริง
$a xor $b
Or
จริงถ้า $a หรือ $b ตัวใดตัวหนึ่งเป็ นจริง, แต่จะไม่จริงถ้าทัง้ สอง
ไม่จริง.
! $a
Not
จริงถ้า $a ไม่จริง
$a && $b
And
จริงทัง้ $a และ $b เป็ นจริง
$a || $b
Or
จริงถ้า $a หรือ $b ตัวใดตัวหนึ่งเป็ นจริง
36
Operator และ การเปรียบเทียบทางคณิต ฯ (ต่ อ)

5. Comparison Operators โอเปอเรเตอร์เชิงเปรี ยบเทียบ
ตัวอย่าง
ความหมาย
ผลลัพธ์
$a == $b
เท่ากับ
$a != $b
ไม่เท่ากับ
จริงถ้า $a มีคา่ ไม่เท่ากับ $b.
$a < $b
น้อยกว่า
จริงถ้า $a มีคา่ น้อยกว่า$b.
$a > $b
มากกว่า
จริงถ้า $a มีคา่ มากกว่า $b.
$a <= $b
น้อยกว่าหรือเท่ากับ
จริงถ้า $a มีคา่ น้อยกว่าหรือเท่ากับ $b.
$a >= $b
มากกว่าหรือเท่ากับ
จริงถ้า $a มีคา่ มากกว่าหรือเท่ากับ $b.
จริงถ้า $a มีคา่ เท่ากับ $b.
37
Operator และ การเปรียบเทียบทางคณิต ฯ (ต่ อ)

6. Operator Precedence โอเปอเรเตอร์เพิม่ -ลดค่าลดคา่
ตัวดาเนินการ ความหมาย
++
--
ตัวอย่าง
คาอธิบาย
้ 1 $a++ หรือ $a=$a+1 เพิม
เพิม
่ ค่าขึน
่ ค่าให้กบั ตัวแปร $a อีก 1
ลดค่าลง 1
$a-– หรือ $a=$a-1
ลดค่าให้กบั ตัวแปร $a อีก 1
38
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ
1. if...else สามารถใช้ ได้ 2 วิธีคอื
sample11.php
<?
$a = 1;
if ($a==1)
{
echo "a=1 OK";
}
?>
Out Put
a=1
<?
if ($x == 0) {
echo $x;
echo " is zero.<BR>\n";
}
else if ($x > 0) {
echo $x;
echo " is positive.<BR>\n";
}
else {
echo $x;
echo " is negative.<BR>\n";
}
?>
39
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)

2.if..elseif..else
<?
$a = 4;
if ($a==1)
{
echo " a = 1 OK ";
}
elseif ($a==2)
{
echo " a = 2 OK";
}
elseif ($a==3)
{
echo " a = 3 OK ";
}
else
{
echo " a Not OK ";
}
?>
Out Put
a Not OK
sample12.php
40
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)

3.switch case
<?
$a = 3;
switch ($a)
{
case 1 : echo "a = 1 OK";
break;
case 2 : echo "a = 2 OK";
break;
case 3 : echo "a = 3 OK";
break;
case 4 : echo "a = 4 OK";
break;
default : echo " a Not OK";
}
?>
sample13.php
out Put
a = 3 OK
41
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)
3.break
คาสัง่ break และ continue ภายในลูปอย่างที่ใช้กนั ในภาษาซี ก็นามาใช้
กับภาษา PHP ได้
 4.continue
เป็ นคาสัง่ กระโดการทางานรอบใหม่ คือ เมื่อโปรแกรมเจอคาสัง่ นี้จะกระโดด
ทางานใหม่ทนั ที

42
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)
<?
for($i=1; $i <=10; $i++)
{
if($i==5)
{
continue;
}
if($i==9)
{
break;
}
}
echo $i;
?>
sample14.php
43
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)

5. include
คาสัง่ include เอาไว้แทรกเนื้อหาจากไฟล์อื่นที่ตอ้ งการโดยสามารถ
แทรกไว้ที่ใดในไฟล์หลักก็ได้
sample15.php
<?
include("file1.php");
include("file2.inc");
?>
file1.php
Hello world 1<BR>
file2.inc
Hello world 2<BR>
44
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)

6.redirect
เป็ นการย้ายการทางานของ Page ปัจจุบนั เพื่อไปไฟล์เป้ าหมาย
header('Location:file.php');
header('Location: http://www.example.com/');

7.or
เงื่อนไข OR
ข้อกาหนดเงื่อนไข เหตุการณ์เป็ นจริ งเหตุการณ์ใดเหตุการณ์หนึ่ ง ก็คือพบ
ข้อมูลตัวแปรตัวใดตัวหนึ่ง โปรแกรมจึงจะทางาน
if (($name == "") || ($named == "")){
45
เงือ่ นไขสายงานเพือ่ การตัดสิ นใจ (ต่ อ)
9.and
ข้อกาหนดเงื่อนไข
เหตุการณ์จะต้องเป็ นจริ งทั้งสองเหตุการณ์ ก็คือพบข้อมูลตัวแปรทั้งสอง
โปรแกรมจึงจะทางาน

if (($name == "") && ($named == "")){
46
ลูปและการทาซ้า

for
จะทางานจนเงือ่ นไขนั้นเป็ นเท็จ ถึงจะกระโดดออกจากลูป
sample16.php
<?
for ($a=1;$a<=5;$a++)
{
echo "<font size=$a> ข้อความใหญ่ข้ ึน และจะหยุดทางานเมื่อ a=5
<br> ";
}
?>
47
ลูปและการทาซ้า(ต่ อ)

while
จะพิจารณาเงือ่ นไขแล้ วค่ อยทา ถ้ าเงือ่ นไขเป็ นจริงจะทา ถ้ าเท็จ จะกระโดด
ออกจากลูปทันที
sample17.php
<?
$a=1;
while ($a<=5)
{
echo "<font size=$a> ข้ อความใหญ่ ขนึ้ และจะหยุดทางานเมือ่ a=5 <br> ";
$a++;
}
48
?>
ลูปและการทาซ้า(ต่ อ)

do..while
ทาก่ อนแล้ วค่ อยพิจารณาเงือ่ นไข ถ้ าเงือ่ นไขเป็ นเท็จ จะกระโดดออกจากลูป
ทันที
sample18.php
<?
$a=1;
do
{
echo "<font size=$a> ข้อความใหญ่ข้ ึน และจะหยุดทางานเมื่อ a=5 <br> ";
$a++;
}while($a<=5)
?>
** ถ้าใช้ do-while จะต้องมีการทาคาสั่ง ภายในลูปหนึ่งครัง้ เสมอ แม้วา่ เงือ
่ นไขโดยเริม
่ ต้นจะเป็ นเท็จก็ตาม
ซึง่ แตกต่างจาก while-do ถ้าเงือ
่ นไขเป็ นเท็จตัง้ แต่เริม
่ ก็จะไม่มก
ี ารทาคาสั่งทีอ่ ยูใ่ นลูป
49
อีกแบบหนึ่งสาหรับการวนลูปคือใช้ for-loop ทาได้ตามตัวอย่างต่อไปนี้
แบบฝึ กหัด
เขียนโปรแกรมเพือ่ แสดงตารางรายชื่อจาก array
array ชื่อ member เก็บข้อมูลชื่อ-นามสกุล จานวน 10 คน
จากนั้นแสดงให้ได้ผลลัพธ์ดงั ภาพด้านล่าง
ลาดับ
1
2
3
4
5
6
ชื่อ-นามสกุล
สมชาย บุญมี
สมศักดิ์ งามแท้
ดวงมณี มีทอง
สายใจ สุ ขสม
สายป่ าน สุ ขมาก
สายสวย สุ ขแล้ว
ใช้ LOOP
แล้วดึงข้อมูลใน Array
มาแสดง...พร้อมสลับสี
แถวด้วย โดยแถวที่ 5
แถวเดียว ต้องเป็ นสีที่
ไม่เหมือนสองสีแรก
50