เมื่อเราพูดถึงการเขียนโปรแกรมในภาษา PHP เรื่องการคืนค่าของฟังก์ชันเป็นหนึ่งในแนวคิดพื้นฐานที่สำคัญ หากคุณยังใหม่ต่อการเขียนโปรแกรมใน PHP คุณอาจเคยได้ยินคำว่า `return` แต่ `yield` ล่ะ? ทั้งสองมีการใช้งานที่แตกต่างกันอย่างไร และเมื่อไหร่เราควรเลือกใช้?
ในบทความนี้ เราจะมาพูดถึง **return** และ **yield** ใน PHP แบบง่าย ๆ พร้อมกับตัวอย่างโค้ดและการใช้งานในโลกจริง เพื่อให้ได้เข้าใจถึงการทำงานของแต่ละคำสั่งมากขึ้น ถ้าคุณเป็นคนหนึ่งที่สนใจในภาษา PHP และต้องการเรียนรู้ อาจจะพิจารณาเข้าร่วมเรียนที่ EPT (Expert-Programming-Tutor) ก็เป็นตัวเลือกที่ดีเช่นกัน!
การใช้ `return` เพื่อส่งค่าจากฟังก์ชันตัวอย่างด้านล่างนี้จะแสดงให้เห็นถึงการทำงานที่ง่าย
ในตัวอย่างนี้ ฟังก์ชัน `sum` จะทำการบวกค่าที่เราส่งเข้าไปและส่งผลลัพธ์กลับโดยใช้ `return` โดยค่าจากฟังก์ชันจะถูกเก็บไว้ในตัวแปร `$result` ซึ่งทำให้เราแสดงผลลัพธ์ได้
การใช้ `yield` สามารถช่วยให้เราสร้าง enumerator ที่สามารถวนกลับไปยังค่าที่ถูกสร้างขึ้นในฟังก์ชันเมื่อเราต้องการ
ในตัวอย่างนี้ เรามีฟังก์ชัน `numbersGenerator` ที่ใช้ `yield` เพื่อสร้างลำดับหมายเลข 1 ถึง 5 ฟังก์ชันนี้จะส่งค่าทีละตัวเมื่อเราใช้ `foreach` เพื่อวนลูปผ่าน generator
ข้อดีของ return
- แทนค่ากลับได้ทันที
- ทำให้โค้ดอ่านง่ายและเข้าใจได้ง่าย
ข้อเสียของ return
- ไม่สามารถส่งค่าหลาย ๆ ค่าได้ในครั้งเดียว
- หากมีข้อมูลที่มีขนาดใหญ่ การใช้ return อาจไม่เหมาะสม
ข้อดีของ yield
- สามารถคืนค่าหลายค่าในครั้งเดียว
- ประหยัดหน่วยความจำ เพราะจะคำนวณค่าเมื่อมีการเรียกใช้เท่านั้น
ข้อเสียของ yield
- การอ่านและทำความเข้าใจอาจซับซ้อนกว่า return
- การใช้งาน generator ต้องใช้การวนลูปเพื่อเข้าถึงค่าที่ถูกคืน
การใช้งาน return
สมมุติว่าคุณกำลังเขียนโปรแกรมเพื่อคำนวณอัตราดอกเบี้ยของเงินฝาก แต่ละบัญชีควรจะถูกคำนวณอย่างแน่นอน และคุณอาจเลือกใช้วิธีการ return เพื่อส่งค่าดอกเบี้ยกลับ
การใช้งาน yield
หากคุณกำลังสร้างโปรแกรมที่จะดึงข้อมูลจากฐานข้อมูล ซึ่งผลลัพธ์อาจมีจำนวนมาก ใช้ `yield` จะทำให้สามารถจัดการข้อมูลได้อย่างมีประสิทธิภาพ แทนที่จะดึงข้อมูลทั้งหมดในคราวเดียว คุณจะสามารถดึงข้อมูลทีละชุด แค่เมื่อจำเป็น ซึ่งจะลดการใช้หน่วยความจำได้อย่างมาก
ทั้ง `return` และ `yield` มีความสำคัญใน PHP และสามารถนำไปใช้ในสถาณการณ์ที่แตกต่างกัน การเลือกใช้คำสั่งหนึ่งมากกว่าคำสั่งหนึ่งนั้นจึงเป็นเรื่องที่สำคัญและขึ้นกับความต้องการของโปรแกรมที่คุณกำลังพัฒนา
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรมในภาษา PHP อย่าลืมที่จะเข้ามาศึกษาที่ EPT (Expert-Programming-Tutor) ที่นี่เรามีหลักสูตรที่หลากหลาย พร้อมติดตามความก้าวหน้าของคุณในโลกของการเขียนโปรแกรม! ทุกคนสามารถเป็นนักพัฒนาที่เก่งขึ้นได้ หากได้รับการสอนที่ถูกต้องและมีแนวทางที่ชัดเจน!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM