02 controlflow php

19
การควบคุมโปรแกรมใน PHP โดย อ.เรวดี พิพัฒน์สูงเนิน สาขาวิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ มหาวิทยาลัยราชภัฏอุดรธานี Basic PHP Programming

Upload: jubnatthawan-phoonson

Post on 03-Jul-2015

398 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 02 controlflow php

การควบคุมโปรแกรมใน PHP

โดย

อ.เรวด ี พพิฒัน์สูงเนนิ

สาขาวชิาวทิยาการคอมพวิเตอร์และเทคโนโลยสีารสนเทศ

คณะวทิยาศาสตร ์ มหาวิทยาลยัราชภัฏอดุรธานี

Basic PHP Programming

Page 2: 02 controlflow php

การควบคุมโปรแกรมในภาษา PHP

มี 2 รูปแบบ ได้แก่• การตัดสินใจเลือกท า (Decision)

– ค าสั่ง if , else , elseif– ค าสั่ง switch– ตัวด าเนินการ ?: (Conditional operator)

• การท าซ้ า (Repetition)– ค าสั่ง for– ค าสั่ง while– ค าสั่ง do … while– ค าสั่ง foreach

Page 3: 02 controlflow php

ค าสั่ง if

if (เงื่อนไข)

ประโยคงานเมือ่เงื่อนไขเปน็จรงิ ;เงื่อนไข

ประโยคงาน

งานล าดับถัดไป

จริง

เท็จ

เชน่

รูปแบบค าสั่ง

Page 4: 02 controlflow php

ค าสั่ง if

if (เงื่อนไข) {ประโยคงาน1 ;ประโยคงาน2 ;

}

เชน่

รูปแบบค าสั่งเงือ่นไข

ประโยคงาน 1

งานล าดบัถดัไป

จริง

เทจ็

ประโยคงาน 2

Page 5: 02 controlflow php

ค าสั่ง if• นิพจน์เงื่อนไขไม่จ าเป็นต้องเป็นนิพจน์ชนิด Boolean แต่อาจจะเป็นชนิด

ใดก็ได้ ซึ่ง PHP จะตรวจสอบเองว่าเงื่อนไขเป็น true หรือ false• ค่าต่าง ๆ ต่อไปนี้ PHP จะแปลงเป็นชนิด Boolean ที่มีค่าเป็น False

– ค่าจ านวนเต็ม 0– ค่าทศนิยม 0.0– สตริงว่าง (“”) และสตริง “0”– อาร์เรย์ทีไ่ม่มีสมาชิก– ออบเจ็คที่ไม่มีตัวแปรสมาชกิ– ค่า NULL (ค่าว่าง) หรือตัวแปรทีย่งัไม่มีการก าหนดค่า

• ส่วนค่าอื่น ๆ จะถูกแปลงเป็น true

Page 6: 02 controlflow php

ค าสั่ง if…elseเงื่อนไข

ประโยคงาน2

งานล าดับถัดไป

จริงเท็จ

ประโยคงาน1if (เงือ่นไข)

ประโยคงาน1 ;

else

ประโยคงาน2 ;

รูปแบบค าสั่ง

Page 7: 02 controlflow php

ค าสั่ง if … elseif• เปน็การตดัสนิใจแบบหลายเงื่อนไข เงื่อนไข 1

งานจริง 1

งานจริง 2งานเท็จ

งานถัดไป

จริงเท็จ

เงื่อนไข 2 จริงเท็จ

• รูปแบบ

if (เงื่อนไข1) ท างานจริง 1

elseif (เงือ่นไข2) ท างานจริง 2

else ท างานเทจ็

ท างานถัดไป

Page 8: 02 controlflow php

ค าสั่ง if … elseif

Page 9: 02 controlflow php

ค าสั่ง switch…case• ใชใ้นกรณีทีม่ทีางเลอืกหลายกรณี• โดยจ าใช้การตรวจสอบเงือ่นไขร่วมกนัเพยีงครัง้เดยีว ผลการตรวจสอบเงือ่นไขจะถูกน าไปพิจาณาเพือ่เลอืกวา่จ าท างานตามทางเลอืกใด

นิพจน์

ประโยคงาน1 ประโยคงาน2 ประโยคงาน3

ค่าที่ 1 ค่าที่ 2 ค่าที่ 3

ประโยคงาน4

ค่าอื่นๆ

switch (นิพจน)์

{

case คา่ที1่ : ประโยคงาน 1;

break ;

case คา่ที2่ : ประโยคงาน 2;

break ;

case คา่ที3่ : ประโยคงาน 3;

break ;

default : ประโยคงาน 4;

}

Page 10: 02 controlflow php

ค าสั่ง switch…case

Page 11: 02 controlflow php

ตัวด าเนินการ ?:• ?: มีชื่อว่า Conditional Operator คือตัวด าเนินการทีใ่ช้ตรวจสอบ

เงื่อนไขหนึง่ ๆ แล้วตัดสินใจว่าจะให้ผลลพัธ์เป็นคา่ใด

• รูปแบบ

• expr1 เป็นนิพจนเ์งื่อนไข

• expr2 เป็นนิพจน์ทีใ่ห้ท าเมื่อเงื่อนไข expr1 เป็นจริง

• expr3 เป็นนิพจน์ทีใ่ห้ท าเมื่อเงื่อนไข expr1 เป็นเท็จ

expr1 ? expr2 : expr3

Page 12: 02 controlflow php

ตัวด าเนินการ ?:

ผลลัพธ์ : กรณีค่าในตัวแปร $login_status = true

ผลลัพธ์ : กรณีค่าในตัวแปร $login_status = false

Page 13: 02 controlflow php

ค าสั่ง while• ค าสั่ง while เป็นค าสั่งท างานซ้ า โดยจะ

ตรวจสอบเงื่อนไขก่อน

• ถ้าเงื่อนไขที่ตรวจสอบให้ผลเป็นจริง จะให้ไปท างานในค าสั่งหรือกลุ่มค าสัง่ท าซ้ า 1 รอบ แล้วกลับมาตรวจสอบเงื่อนไขอีกครั้ง

• ถ้าเงื่อนไขที่ตรวจสอบให้ผลเป็นเท็จ ไม่ต้องเข้าท างานใน loop

เงือ่นไข

ค าสั่งงานซ้ า 1

True

False

ค าสั่งงานซ้ า 2

while (เงือ่นไขทีต่รวจสอบ){ ค าสัง่ทีใ่หท้ างานซ้ า }

Page 14: 02 controlflow php

ค าสั่ง while

Page 15: 02 controlflow php

ค าสั่ง while

Page 16: 02 controlflow php

ค าสั่ง do..while• ค าสั่ง do…while เป็นค าสั่งท างานซ้ า โดยจะ

ให้ท างานในค าสั่งหรือกลุ่มค าสัง่ท าซ้ าก่อน 1 รอบ แล้วจึงค่อยตรวจสอบเงื่อนไขว่าจะให้ท างานซ้ าอีกหรือไม่

• ถ้าเงื่อนไขที่ตรวจสอบให้ผลเป็นจริง จะให้ไปท างานในค าสั่งหรือกลุ่มค าสั่งท าซ้ า 1 รอบ แล้วกลับมาตรวจสอบเงื่อนไขอกีครั้ง

• ถ้าเงื่อนไขที่ตรวจสอบให้ผลเป็นเท็จ จะจบค าสั่ง do…while ทันที

เงือ่นไข

ค าสั่งงานซ้ า 1

True

False

ค าสั่งงานซ้ า 2

do { ค าสัง่ทีใ่หท้ างานซ้ า

} while (เงือ่นไขทีต่รวจสอบ) ;

Page 17: 02 controlflow php

ค าสั่ง do..while

Page 18: 02 controlflow php

ค าสั่ง for• ค าสั่ง for เหมาะส าหรับกรณีที่รู้จ านวนรอบ

การท างานวนซ้ าที่แน่นอน

• โดยก าหนดจุดเริ่มต้น เงื่อนไขการตรวจสอบ และการเพิ่ม/ลดรอบการท างานไว้ที่ค าสั่ง for

for(นิพจนก์ าหนดรอบเริม่ต้น ; นพิจนต์รวจสอบ ; นพิจนเ์พิม่/ลดตัวนบัรอบ) { ค าสัง่ทีใ่หท้ างานซ้ า }

ก าหนดรอบการท างาน

ค าสั่งท าซ้ า 1

ค าสั่งท าซ้ า 2

Next

Page 19: 02 controlflow php

ค าสั่ง for