hand-point-rightForeach loop

ศศิธร เทพศิริ 630710337

📖foreach loop คืออะไร ?

คำสั่งสำหรับการวนลูปการทำงานที่เป็น array ทั้งหมด เป็นการเข้าถึงข้อมูลใน array ตั้งแต่ตำแหน่งแรกจนถึงสุดท้ายให้เรา โดยมีข้อดีก็คือเราไม่จำเป็นต้องกำหนดจำนวนรอบในการทำงาน เพราะคำสั่ง forearch นี้จะทำงานจนหมดรอบด้วยตัวเอง

💙Flowchart

💚โครงสร้าง foreach loop ใน PHP

🩷foreach มี 2 รูปแบบ คือ

1. การใช้งานพื้นฐานทั่วไป

อันนี้จะเป็นตัวอย่างการใช้งานแบบพื้นๆ ไม่มีอะไรซับซ้อน โดยจะแสดงค่าออกมา 12345 ปกติเลย

2. การใช้งานกับ array ที่มี key

จากตัวอย่างนี้จะเห็นว่าเมื่อเรานำไปใช้กับ array ที่มี key นั้น ไม่ได้ยากหรือว่าซับซ้อนเลย

👉เปรียบเทียบโค้ดของแต่ละภาษา

👉อธิบายการทำงานของแต่ละภาษา

1. Php

  • เราใช้ foreach เพื่อวนลูปผ่านอาร์เรย์ได้โดยตรง

  • $colors as $x หมายถึงในแต่ละรอบของการวนลูป ค่าในอาร์เรย์ $colors จะถูกเก็บไว้ในตัวแปร $x

  • การแสดงผลจะใช้ echo เพื่อพิมพ์ค่าออกมา และขึ้นบรรทัดใหม่ (<br>) ในแต่ละรอบ

2. Java

  • String i : cars หมายถึง ในแต่ละรอบของการวนลูป ค่าในอาร์เรย์ cars จะถูกเก็บไว้ในตัวแปร i ซึ่งเป็นชนิดข้อมูล String

  • จากนั้นแสดงผลค่าของ i ในแต่ละรอบและขึ้นบรรทัดใหม่

3. Python

  • ทำการสร้างลิสต์ (list) ให้ชื่อ numbers กำหนดให้มีค่าเป็นตัวเลข 1 - 5

  • เราจะใช้ for loop เพื่อทำการวนลูปผ่านแต่ละค่าของลิสต์ numbers

  • number in numbers หมายถึงในแต่ละรอบที่วนลูป ค่าในลิสต์ numbers จะถูกเก็บไว้ในตัวแปร number

  • print(number) ใช้แสดงผล number ในแต่ละรอบ โดยจะแสดงผลแต่ละค่าตามลำดับ

4. C

  • ทำการสร้างอาร์เรย์ชื่อว่า numbers กำหนดให้มีค่าเป็นตัวเลข 1 - 5

  • เราใช้ sizeof() เพื่อหาขนาดของอาร์เรย์ numbers ทั้งหมด จากนั้นหารด้วยขนาดของตำแหน่งแรก numbers[0] เพื่อหาจำนวนตัวเลขในอาร์เรย์

  • ผลลัพธ์ที่ได้จะถูกเก็บไว้ในตัวแปร length ซึ่งจะใช้ในการกำหนดจำนวนรอบที่วนลูป

  • ใช้ for loop เพื่อวนลูปผ่านอาร์เรย์ numbers

  • ตัวแปร i เริ่มต้นที่ 0 จากนั้นจะเพิ่มค่าทีละ 1 จนถึง length - 1 (เนื่องจากค่าของอาร์เรย์เริ่มจาก 0)

  • printf("%d\n", numbers[i]); ใช้แสดงผลค่าของ numbers[i] และขึ้นบรรทัดใหม่ (\n) ในแต่ละรอบของการวนลูป

  • จากนั้นทำการคืนค่า 0 โปรแกรมสิ้นสุดการทำงาน

📝สรุปเปรียบเทียบการทำงานแต่ละภาษา

ภาษา
วิธีที่ใช้วนลูป
ข้อดี
ข้อเสีย

PHP

foreach

ใช้ง่าย อ่านโค้ดง่าย

จำกัดในการใช้งานเฉพาะอาร์เรย์

Java

foreach (enhanced)

โค้ดกระชับและอ่านง่ายกว่า

ไม่ยืดหยุ่นเท่า for แบบธรรมดา

Python

for

โค้ดสั้น กระชับและง่ายต่อการอ่านมากที่สุด เนื่องจาก Python มีsyntaxที่ง่าย

ไม่สามารถควบคุมรายละเอียดได้มากเท่าไร

C

for ปกติ

มีความยืดหยุ่นสูง และสามารถควบคุมรายละเอียดได้

โค้ดยาว ซับซ้อน ต้องคำนวณความยาวของอาร์เรย์

💻Slide:

📂Clip:

🚩อ้างอิง

foreach loop: mindphp. 2023, August 29. PHP Loop ( ลูป ) คืออะไร ? เขียนโปรแกรมทำงานซ้ำๆarrow-up-right. mindphp.https://www.mindphp.com/developer/26-เทคนิค-การเขียน-php/8886-php-loop.htmlarrow-up-right

คำสั่ง foreach ใน PHP: Deveak. 2014, October 7. คำสั่ง foreach ใน PHP. blog.deveak. www.blog.deveak.com/php/คำสั่ง-foreach-ใน-php.html

Python Foreach: geeksforgeeks. 2024, October 13.Python Foreach How to Program in Python. geeksforgeeks. geeksforgeeksarrow-up-right

PHP tutorial: (n.d.). PHP foreach Loop. w3schools. w3schoolsarrow-up-right

foreach loop: (n.d.). คำสั่ง foreach loop และการใช้งานในภาษา C พร้อมตัวอย่างโค้ดและยูสเคส. expert programming tutor. https://expert-programming-tutor.com/tutorial/article/KC0010084004_what_is_foreach_loop_in_C_language.phparrow-up-right

คำสั่ง foreach loop: marcuscode. 2016, December 28. คำสั่งวนซ้ำ. marcuscode. https://marcuscode.com/lang/php/loop-statementsarrow-up-right

What is the PHP foreach loop?: Luis Ramirez Jr. 2024, May 29. Introduction To The Foreach Loop In PHP (With Code Examples). zerotomastery. https://zerotomastery.io/blog/PHP-foreach-loop-explained/arrow-up-right

PHP foreach loop: (n.d.). PHP foreach loop. javatpoint. https://www.javatpoint.com/php-foreach-looparrow-up-right

Last updated