Page cover

keyboardAccess Array Item

ณัฐชญา จันทร์เต็ม 630710648

การเข้าถึงข้อมูลใน Array ภาษา PHP

การเข้าถึงข้อมูลหรือดึงข้อมูลจาก Array โดยอาร์เรย์คือโครงสร้างข้อมูลที่ใช้เก็บค่าหลายๆ ค่าในตัวแปรเดียว โดยค่าที่อยู่ในอาร์เรย์จะถูกจัดเก็บตามลำดับที่เข้ามา

ใน PHP จะแบ่งเป็น 2 ประเภทหลักๆ คือ

  1. Indexed Array : ใช้ index ในการเข้าถึงข้อมูลใน array

  2. Associative Array : ใช้ key ในการเข้าถึงข้อมูลแทน index โดยระบุ key ที่ต้องการเข้าถึงข้อมูลใน array

➤ Indexed Array

Example การเข้าถึงข้อมูลใน array โดยวิธี index ซึ่งมักจะเริ่มต้นด้วย index 0 เช่น :

$cars = array("Volvo", "BMW", "Toyota"); //สร้าง array ที่ชื่อว่า $cars เก็บค่า
echo $cars[0]; // Output: Volvo

#โค้ดเปรียบเทียบ

<?php
$fruits = array("Apple", "Banana", "Orange"); // สร้าง array ที่ชื่อว่า $fruits และเก็บค่า
// เข้าถึงค่า item ที่ตำแหน่ง 1
echo $fruits[1];  // ค่าที่ตำแหน่งที่ 1 ของ array $fruits // Output: Banana
?>
  • PHP ใช้ฟังก์ชัน array() ในการสร้าง จากนั้นสามารถเข้าถึงข้อมูลแบบ index ได้ผ่านการเรียกใช้ $fruits เก็บค่าของอาร์เรย์ index ที่ 1

  • Java สร้างอาร์เรย์ชนิด String[] ใช้ในการเก็บค่าสตริง ใช้เข้าถึงอาร์เรย์ โดยเริ่มจาก 0 จากนั้นสามารถเข้าถึงข้อมูลได้โดยตรงผ่านการเรียกใช้งาน fruits[1]

  • C สามารถเข้าถึงโดยการใช้ Pointer ในการเก็บค่าสตริง เข้าถึงโดยใช้ index จะชี้ไปยังตำแหน่งที่เก็บข้อมูล และใช้ %s ในการแสดงค่าของสตริง

  • Python ใช้ List[] ในการเก็บค่าของ array เป็นการเข้าถึงค่าในลิสต์ด้วย index ได้โดยตรง

💡Function

Example การเข้าถึงข้อมูลใน array แบบใช้ฟังก์ชัน สามารถเรียกใช้ด้วยค่า index ตามด้วยเครื่องหมาย () :

#โค้ดเปรียบเทียบ

  • PHP สามารถใช้ฟังก์ชันในการเรียกใช้งานได้โดยตรง โดยการใช้ myArr[2]()

  • Java หากต้องการใช้ฟังก์ชันเพื่อเข้าถึงข้อมูลแบบ index ใน java ต้องทำการแคสท์ก่อน สามารถเรียกใช้ Runnable ในการเก็บฟังก์ชันและเรียกใช้ฟังก์ชันผ่าน casting (((Runnable) myArr[2]).run()) เพื่อสร้างฟังก์ชันและเก็บไว้ในอาร์เรย์

  • C ไม่สามารถเข้าถึงข้อมูลได้โดยตรง ต้องใช้ Pointer ในการเก็บฟังก์ชันและเรียกใช้ฟังก์ชัน

  • Python สามารถเก็บฟังก์ชันใน list และเรียกใช้งานฟังก์ชันจาก list ได้โดยตรงผ่านการใช้ index

💡Loop

Example

การเข้าถึงข้อมูลใน array แบบใช้ Loop ในการวนเพื่อแสดงข้อมูล โดยใช้ index เช่น :

#โค้ดเปรียบเทียบ

  • PHP สามารถใช้ foreach เพื่อวน loop ผ่านอาร์เรย์ $fruits ได้โดยตรง เพื่อแสดงข้อมูลในอาร์เรย์

  • Java สามารถใช้ for-each ใน ArrayList จะเก็บค่าของแต่ละรายการในแต่ละรอบของลูป

    ที่เหมือนกับการใช้อาร์เรย์แบบ Index

  • C สามารถเข้าถึงได้โดยการใช้ลูป for ปกติเพื่อเข้าถึงอาร์เรย์ ใน C อาจจะต้องกำหนดขนาดของอาร์เรย์ล่วงหน้า ไม่ยืดหยุ่นเท่าภาษาอื่นๆ

  • Python สามารถใช้ for เพื่อวนลูปผ่าน list ได้โดยตรงคล้ายกับภาษา PHP

➤ Associative Array

Example

การเข้าถึงข้อมูลใน array โดยวิธี Associative ใช้ key ที่ต้องการในการระบุเพื่อเข้าถึงข้อมูล :

#โค้ดเปรียบเทียบ

  • PHP ใช้ associative array ในการเก็บข้อมูล และสามารถเรียกใช้งานเพื่อเข้าถึงค่าแต่ละคีย์ได้ด้วยชื่อคีย์ที่ต้องการ $fruits["weight"]

  • Java ใช้ HashMap ในการเก็บข้อมูลรูปแบบคู่ key-value โดยใช้คีย์เป็นสตริงและค่าเป็น Object ซึ่งสามารถเข้าถึงข้อมูลด้วย fruit.get("weight")

  • C ใช้ structในการสร้าง Fruit เพื่อเก็บข้อมูลและกำหนดค่าให้ เข้าถึงได้โดยใช้ fruit.weight

  • Python ใช้ dictionary{} ในการเก็บข้อมูลในรูปแบบคู่ key-value สามารถเข้าถึงค่าแต่ละคีย์ได้โดยตรง fruit["weight"]

💡Function

Example การเข้าถึงข้อมูลใน array แบบใช้ฟังก์ชัน สามารถเรียกใช้ด้วยค่า key ตามด้วยเครื่องหมาย () :

#โค้ดเปรียบเทียบ

  • PHP สามารถเข้าถึงข้อมูลของฟังก์ชันในอาร์เรย์ได้โดยการเรียกใช้งานผ่านคีย์ที่ต้องการในอาร์เรย์ $myArr["message"]();.

  • Java ไม่สามารถเข้าถึงฟังก์ชันในอาร์เรย์ได้โดยตรงหรือการเรียกใช้งานผ่านคีย์ที่ต้องการได้ แต่สามารถใช้Runnable interface เพื่อเก็บฟังก์ชันและเรียกใช้งานผ่าน Mapในการจัดเก็บฟังก์ชันได้โดยวิธีนี้ Runnable message = () -> System.out.println("I come from a fruit function!");

  • C สามารถใช้ ฟังก์ชัน pointer เก็บข้อมูลฟังก์ชันและเรียกใช้ผ่านฟังก์ชันได้ void (*message)() = fruitFunction; message();

  • Python สามารถเก็บฟังก์ชันใน Dictionary ({}) ได้โดยตรง และเรียกใช้ฟังก์ชันผ่านคีย์ของดิกชันนารี my_dict["message"]()

💡Loop

Example

การเข้าถึงข้อมูลใน array แบบใช้ Loop ในการวนเพื่อแสดงข้อมูล โดยใช้ key ที่ต้องการ เช่น :

#โค้ดเปรียบเทียบ

  • PHP ใช้ associative array ในการเก็บข้อมูล โดยสามารถเข้าถึงข้อมูลผ่านการใช้คีย์ ทำได้โดยตรงผ่านการระบุคีย์ที่ต้องการ $fruit["name"].

  • Java ใช้ HashMap เพื่อเก็บข้อมูลในรูปแบบ key-value ใช้ get(key) เพื่อดึงค่าออกมา ซึ่งไม่สามารถเข้าถึงข้อมูลได้โดยตรงในอาร์เรย์

  • C ใช้ struct ในการเก็บข้อมูล สามารถเข้าถึงข้อมูลได้โดยตรง ใช้ฟังก์ชัน pointer เพื่ออ้างถึง

  • Python ใช้ dictionary{} ในการเก็บข้อมูล สาามรถเข้าถึงข้อมูลได้โดยตรงผ่านคีย์ fruit["name"]

Video Clip

Presentation

Reference

PHP

Java

C

Python

Last updated