คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ผู้เขียน หัวข้อ: อะไร เร็วกว่ากัน ระหว่าง switch และ else if  (อ่าน 10032 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

kongpair

Verified Seller
หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 333

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 2,721

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


ผมนั่งพิจารณาการทำงานระหว่าง switch และ else if ใน PHP

พบว่า มัน คล้ายกัน แตกต่างกันนิดหน่อย และ สามารถเขียนให้ผลลัพธ์ออกมาเหมือนกันได้

เช่น
switch $xxx {
  case "1" :
    break;
  case "2" :
    break;
  case "3" :
    break;
  default :
    break;
}

กับ

if ($xxx == "1") {
} else if ($xxx == "2") {
} else if ($xxx == "3") {
} else {
}

อยากถามท่านที่เคยมีประสบการณ์ว่า แบบไหน มันจะทำงานเร็วกว่ากัน และ ประหยัด memory มากกว่ากันครับผม
/ขอบคุณล่วงหน้าครับ

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

m2studio

ก๊วนเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 32

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 353

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


โดยส่วนใหญ่แล้วนะจ่าเหมือนกันนะครับในเรื่องของความเร็ว (ไม่แน่ใจว่าบางภาษามีข้อยกเว้นหรือเปล่า) เพราะว่า script ที่เขียนนี้ เวลานำไปใช้จริง ไอ่เ้จ้า compiler จะเปลี่ยนไปเป็นชุดคำสั่งที่เหมือนกันเปะๆ เลยครับ
ไม่ว่าจะเป็น switch case หรือว่า if else

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

kongpair

Verified Seller
หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 333

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 2,721

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


คือลองแล้ว มันไม่ค่อยเห็นเลยครับ

ไปเจอผลการทดสอบ ที่ งง ๆ อยู่  มันขึ้นกับ จำนวนลูป และ condition
แลลผลัดกัน ขึ้นนำ ไม่มีใคร ชนะใครเลย...

สรุป

แล้วแต่ถนัด...  หรือเปล่า?

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

แต่พอถนัดทั้งสองตัวแล้วมันยิ่ง งง?
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

9neo

หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 60

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 1,411

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


ถ้าเงื่อนใขไม่เยอะ switch เร็วกว่าครับ

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

ThongJsn

Verified Seller
หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 130

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 2,304

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


ต้องลงลึกถึงเลขฐานสองเลยละครับว่า แต่ละแบบ เทียบกันด้วยอะไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

bouy22

หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 408

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 2,334

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


ถ้าเงื่อนไขไม่เยอะ ไม่ซับซ้อนส่วนใหญ่ผมใช้ switch นะ

แต่ ถ้า ซับซ้อน ซ่อนเงื่อน ก็ ต้อง else if เอา

เรื่องความเร็ว ผมก็เคยสังเกตอยู่นะ แต่มันแทบไม่รู้สึกถึงความแตกต่างเลย

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

jubajuba

สมุนแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 32

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 536

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


switch case เร็วกว่าครับ จำที่อาจารย์สอนมาได้ครับ

แต่ผมถนัดใช้ if else มากกว่า ไม่เคยได้ใช้ switch case เลยครับ

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

SekRanger

หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 130

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 1,564

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


Switch เร็วกว่าครับ แต่เร็วกว่าแบบ Unsignificant หรือที่แปลว่า ไม่มีนัยยะสำคัญครับ

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

pomchai

สมุนแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 21

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 839

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


Switch เร็วกว่าครับ การหยิบไปใช้แล้วแต่สะดวกครับ แล้วเงื่อนไข แต่ส่วนใหญ่ผมจะใช้ if else ครับ 

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

medieval

สมุนแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 70

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 873

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


โดยส่วนตัว ไม่ค่อยเห็นความแตกต่างชักเท่าไหร่ ใช้อันที่ใช้ได้ และง่ายสำหรับเราจำพอละ ผลลัพเท่ากัน 

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

step1

ก๊วนเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 12

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 339

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


มายันด้วยคน ถ้า เงื่อนไขในการตรวจสอบไม่มาก Switch เร็วกว่า
จ้า

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

kongpair

Verified Seller
หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 333

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 2,721

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


เพิ่งบรรลุ กระจ่าง แบบเส้นผมบังภูเขาตอนแปรงฟัน เมื่อเช้านี้นี่เอง

จริง ๆ Switch กับ else if ดูเผิน ๆ เหมือนจะทำงานคล้ายกัน

แต่จริง ๆแล้วมันมี ประโยชน์ในการใช้งานที่ออกแบบมาต่างกัน

เรื่องความเร็ว คงไม่ต้องไปคิดมาก เพราะ อย่างที่คุณ Sek ว่าไว่ ... "ไม่มีนัยสำคัญ" คือมันต่างกันแบบเราไม่รู้สึก

แต่จริง ๆ แล้ว ทั้งสองตัว ถูกสร้างขึ้นมาให้ใช้ application ที่ต่างกันคือ

ถ้าเรามีตัวแปรที่ต้องตรวจสอบ 1 ตัว แล้วมีผลลัพธ์หลาย ๆ ทางเลือก การใช้ Switch ดูเหมือนจะดีที่สุดในตอนนี้

แต่ถ้าเรามีตัวแปรที่ต้องตรวจสอบหลายตัว ยกตัวอย่างเช่น

กับข้าววันนี้ จะกินอะไรดี ?

ไปตรวจสอบสินค้าที่ตลาด
ตรวจสอบมีหมูมั้ย? ถ้ามี กินหมูทอด 
ถ้าไม่มีหมู แล้ว มีเนื้อ มั้ย ถ้ามีกินเนื้อย่าง
ถ้าไม่มีเนื้อ แล้ว มี กุ้งมั้ย ถ้ามีกินกุ้งผา
ถ้าไม่มีกุ้ง แล้ว มี ปลามั้ย ถ้ามีกินปลาทอด
ถ้าไม่มีซักอย่าง ก็ไปเซเว่น กิน Easy Go... จบ

ด้วยเหตุผลนี้เอง ว่าทำไม else if จึงทำงานได้ช้ากว่า .... ก็เพราะ มันถูกโปรแกรมด้วยโครงสร้างที่ใหญ่กว่านั้นเอง...

บรรลุ.... 

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

beside

หัวหน้าแก๊งเสียว

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 152

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 1,499

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


ผมพึ่งเห็นกระทู้ครับ ยินดีด้วยครับพี่ก้อง ที่บรรลุแล้ว 

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

ถ้าเรามองว่า...วิกฤติจะมาพร้อมกับบทเรียนดี ๆ เสมอ ก็ไม่มีเหตุอันใดที่จะต้องทุกข์ใจเพราะวิกฤติ
ตรงกันข้าม ควรจะขอบคุณวิกฤติเสียด้วยซ้ำที่เกิดขึ้นมาแต่ละครั้ง ก็ช่วยทำให้เรารู้จัก สร้างภูมิคุ้มกัน
ให้แก่ชีวิต และการทำงานอย่างรอบคอบ แยบคาย และมีความเข้าใจโลกและชีวิตเพิ่มขึ้น อย่างยากที่
จะหาได้ในยามปกติ

"พระมหาวุฒิชัย วชิรเมธี"

ghostba

Newbie

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 0

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 17

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


ความรู้ใหม่

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า

chonlatee

Newbie

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

พลังน้ำใจ: 1

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
ออฟไลน์

กระทู้: 2

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร


เพิ่งบรรลุ กระจ่าง แบบเส้นผมบังภูเขาตอนแปรงฟัน เมื่อเช้านี้นี่เอง

จริง ๆ Switch กับ else if ดูเผิน ๆ เหมือนจะทำงานคล้ายกัน

แต่จริง ๆแล้วมันมี ประโยชน์ในการใช้งานที่ออกแบบมาต่างกัน

เรื่องความเร็ว คงไม่ต้องไปคิดมาก เพราะ อย่างที่คุณ Sek ว่าไว่ ... "ไม่มีนัยสำคัญ" คือมันต่างกันแบบเราไม่รู้สึก

แต่จริง ๆ แล้ว ทั้งสองตัว ถูกสร้างขึ้นมาให้ใช้ application ที่ต่างกันคือ

ถ้าเรามีตัวแปรที่ต้องตรวจสอบ 1 ตัว แล้วมีผลลัพธ์หลาย ๆ ทางเลือก การใช้ Switch ดูเหมือนจะดีที่สุดในตอนนี้

แต่ถ้าเรามีตัวแปรที่ต้องตรวจสอบหลายตัว ยกตัวอย่างเช่น

กับข้าววันนี้ จะกินอะไรดี ?

ไปตรวจสอบสินค้าที่ตลาด
ตรวจสอบมีหมูมั้ย? ถ้ามี กินหมูทอด 
ถ้าไม่มีหมู แล้ว มีเนื้อ มั้ย ถ้ามีกินเนื้อย่าง
ถ้าไม่มีเนื้อ แล้ว มี กุ้งมั้ย ถ้ามีกินกุ้งผา
ถ้าไม่มีกุ้ง แล้ว มี ปลามั้ย ถ้ามีกินปลาทอด
ถ้าไม่มีซักอย่าง ก็ไปเซเว่น กิน Easy Go... จบ

ด้วยเหตุผลนี้เอง ว่าทำไม else if จึงทำงานได้ช้ากว่า .... ก็เพราะ มันถูกโปรแกรมด้วยโครงสร้างที่ใหญ่กว่านั้นเอง...

บรรลุ.... 

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร

เข้าใจเลยครับ

คำสั่ง if กับคำสั่ง switch ต่างกันอย่างไร
บันทึกการเข้า