Page cover

objects-columnMultidimensional Arrays

ศุจินทรา เงางาม 630710678

What is Multidimensional Arrays ?

Multidimensional Arrays หรือเรียกอีกชื่อว่า อาเรย์หลายมิติ อธิบายว่าอาร์เรย์หลายมิติใน PHP คืออาร์เรย์ที่มีอาร์เรย์อื่น ๆ เป็นสมาชิก ทำให้สามารถสร้างโครงสร้างข้อมูลที่มีหลายมิติ คือ โครงสร้างข้อมูลชนิดหนึ่งที่ทำหน้าที่จัดเก็บข้อมูลในรูปแบบของตาราง ซึ่งมีหลายมิติ ตัวอย่างเช่น array 2 มิติ ที่จัดเก็บข้อมูลเป็นตารางที่มีแถวและคอลัมน์ เช่น ตาราง 3x4 จะมี 3 แถว และ 4 คอลัมน์ สรุปง่ายๆเรียกว่า อาเรย์ของอาเรย์ Multidimensional Arrays สามารถมีมิติได้มากกว่านี้ เช่น array 3 มิติ หรือ 4 มิติ ที่มีความซับซ้อนมากยิ่งขึ้น

ตัวอย่าง อาเรย์ 2 มิติ
ซ้าย : อาเรย์ 1 มิติ ขวา : อาเรย์ 2 มิติ
อาเรย์ 3 มิติ
  • อาเรย์ 1 มิติ : Array แบบนี้มีเพียงมิติเดียว คือเก็บข้อมูลเรียงต่อกัน

  • อาเรย์ 2 มิติ : ในตัวอย่างนี้ array มี 2 แถว และแต่ละแถวมี 2 คอลัมน์ เรียกว่า array 2 มิติ

  • อาเรย์ 3 มิติ : ข้อมูลถูกจัดเก็บเป็นกล่อง (หรือลูกบาศก์) เช่น ตารางซ้อนกันหลายๆ ตาราง

  • อาเรย์ n มิติ: ข้อมูลสามารถจัดเก็บในมิติต่อๆ ไปตามความซับซ้อนที่เพิ่มขึ้น

Example

ตัวอย่างการประกาศอาเรย์ 2 มิติ ของภาษา PHP, Java, Python, C

ภาษา
การประกาศ

PHP

$arr = array(array(array(1,2),array(3)));

Java

int[][] arr = new int[3][4];

Python

arr = [[1,2,3],[4,5,6]]

C

int arr[3][4];

  • PHP : ใช้ฟังก์ชัน array() โดยสร้างอาร์เรย์ที่มีอาร์เรย์ย่อย เหมาะสำหรับการจัดการข้อมูลตาราง

  • Java : ใช้การประกาศประเภทข้อมูลเป็น int และกำหนดค่าในบล็อก Array เป็น object และแต่ละแถวสามารถมีขนาดที่ต่างกันได้

  • Python : ใช้การสร้างลิสต์ของลิสต์เพื่อสร้างโครงสร้างที่มีหลายมิติ

  • C : ประกาศด้วยการกำหนดขนาด Array ล่วงหน้า

เปรียบเทียบความแตกต่างของภาษา PHP, Java, Python และ C

  • ตารางคะแนนของนักศึกษาในรายวิชาต่างๆ

Name
Computer
Math

Alice

85

90

Bob

78

88

Charlie

92

95

David

70

75

input

Output : Name: Alice, Computer: 85, Math: 90 Name: Bob, Computer: 78, Math: 88 Name: Charlie, Computer: 92, Math: 95 Name: David, Computer: 70, Math: 75

  • PHP การประกาศข้อมูล : ใช้ฟังก์ชัน array() เพื่อสร้างอาเรย์ที่เก็บข้อมูล ซึ่งช่วยให้การเข้าถึงข้อมูลแต่ละฟิลด์เป็นไปอย่างง่ายดาย การวนลูป : ใช้ foreach ที่อ่านเข้าใจง่ายในการเข้าถึงแต่ละแถวในอาเรย์ การแสดงผล : ใช้ echo

  • Java การประกาศข้อมูล : ใช้การประกาศอาร์เรย์สองมิติ โดยข้อมูลจะถูกเก็บในลิสต์แบบย่อย การวนลูป : ใช้ for เพื่อทำซ้ำไปยังอาร์เรย์ได้อย่างสะดวก การแสดงผล : ใช้ System.out.println

  • Python การประกาศข้อมูล : ใช้ลิสต์ที่มีลิสต์ย่อยเพื่อสร้างอาร์เรย์สองมิติ การวนลูป : ใช้ for ในการวนลูปเพื่อเข้าถึงข้อมูลในแต่ละแถว การแสดงผล : ใช้ print()

  • C การประกาศข้อมูล : ใช้การประกาศอาร์เรย์แบบคงที่ (fixed size) โดยระบุขนาดล่วงหน้า การวนลูป : ใช้ for เพื่อทำซ้ำข้อมูลในอาร์เรย์ การแสดงผล : ใช้ printf() ซึ่งมีความยืดหยุ่นในการจัดรูปแบบการแสดงผล

ตัวอย่างที่เป็นชุดตัวเลข 12 ตัว

input

  • คำอธิบายโค้ดในแต่ละบรรทัด

  • Output : ของทุกภาษาแสดงค่าของ Multidimensional Arrays ในรูปแบบเดียวกัน คือ

1 2 3 4 5 6 7 8 9 10 11 12

สรุปความแตกต่างของแต่ละภาษา

ภาษา
ลักษณะการเขียนโค้ด
ข้อสังเกต
ความยืดหยุ่น

PHP

ใช้ foreach หรือ

ใช้ for และ count() เพื่อหาขนาด array

ใช้ได้สะดวกและ dynamic สามารถปรับขนาดได้ runtime เช่นเดียวกับ Python

ยืดหยุ่นมาก สามารถเพิ่มหรือลดขนาดได้

Java

ใช้ลูป for และ .length เพื่อหาขนาด array

แต่ละแถวสามารถมีขนาดที่ต่างกันได้

ยืดหยุ่น แต่ต้องกำหนดขนาดแถวล่วงหน้า

Python

ใช้ for ลูปและ len() เพื่อตรวจสอบขนาด list

โครงสร้างเป็น dynamic สามารถขยายหรือลดขนาดได้ง่าย

ยืดหยุ่นสูง สามารถปรับขนาดได้ตลอด

C

การใช้ for ลูปซ้อน และกำหนดขนาด array แบบตายตัว

ต้องกำหนดขนาด array ล่วงหน้าและจัดการหน่วยความจำด้วยตัวเอง

ขนาดตายตัว ต้องกำหนดขนาดล่วงหน้า

คลิปการนำเสนอ

ไฟล์การนำเสนอ

แหล่งที่มา

  • W3Schools. (1999-2024). PHP Multidimensional Arrays. Retrieved from W3Schools:https://www.w3schools.com/php/php_arrays_multidimensional.asp

  • Javatpoint. (2024). PHP Multidimensional Array. Retrieved from Javatpoint: https://www.javatpoint.com/php-multidimensional-array

  • geeksforgeeks. Multidimensional arrays in PHP. Retrieved from geeksforgeeks: https://www.geeksforgeeks.org/multidimensional-arrays-in-php/

  • Tutorials Point. (2024). PHP - Multidimensional Array. Retrieved from Tutorials Point: https://www.tutorialspoint.com/php/php_multidimensional_array.htm

  • Robbie Beane. (2020). 2-Dimensional Arrays. Retrieved from drbeane: https://drbeane.github.io/python_dsci/pages/array_2d.html

  • programiz. C Multidimensional Arrays. Retrieved from programiz: https://www.programiz.com/c-programming/c-multi-dimensional-arrays

  • freecodecamp. Multi-Dimensional Arrays in Python. Retrieved from freecodecamp: https://www.freecodecamp.org/news/multi-dimensional-arrays-in-python/

  • Microsoft. (2024). Multidimensional Arrays (C). Retrieved from Microsoft: https://shorturl.at/FALY3

Last updated