PHP101 – อาร์เรย์ (Arrays)

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

อาร์เรย์คืออะไร?

อาร์เรย์ใน PHP คือตัวแปรที่สามารถเก็บค่าได้หลายค่า โดยแต่ละค่าจะถูกระบุด้วยสิ่งที่เรียกว่า “คีย์” (key) หรือ “ดัชนี” (index)

การสร้างอาร์เรย์ (Creating Arrays)

มีหลายวิธีในการสร้างอาร์เรย์ใน PHP:

การใช้วงเล็บเหลี่ยม [] (Array Literal)

PHP
<?php

  $colors = ["red", "green", "blue"];
  $numbers = [1, 2, 3, 4, 5];
  $mixed = [1, "hello", 3.14, true];

?>

การใช้ฟังก์ชัน array()

PHP
<?php

  $colors = array("red", "green", "blue");
  $numbers = array(1, 2, 3, 4, 5);
  $mixed = array(1, "hello", 3.14, true);

?>

การเข้าถึงสมาชิกของอาร์เรย์ (Accessing Array Elements)

คุณสามารถเข้าถึงสมาชิกแต่ละตัวในอาร์เรย์ได้โดยใช้คีย์หรือดัชนีของมัน

อาร์เรย์แบบมีดัชนี (Indexed Arrays)

ในอาร์เรย์แบบมีดัชนี สมาชิกแต่ละตัวจะมีดัชนีเป็นตัวเลข เริ่มต้นจาก 0

PHP
<?php

  $colors = ["red", "green", "blue"];
  echo $colors[0]; // Output: red
  echo $colors[1]; // Output: green
  echo $colors[2]; // Output: blue

?>

อาร์เรย์แบบมีคีย์ (Associative Arrays)

ในอาร์เรย์แบบมีคีย์ สมาชิกแต่ละตัวจะมีคีย์เป็น String ที่คุณกำหนดเอง

PHP
<?php

  $ages = ["John" => 30, "Jane" => 25, "Peter" => 35];
  echo $ages["John"]; // Output: 30
  echo $ages["Jane"]; // Output: 25
  echo $ages["Peter"]; // Output: 35

?>

อาร์เรย์แบบผสม (Mixed Arrays)

อาร์เรย์ใน PHP สามารถมีทั้งสมาชิกแบบมีดัชนีและแบบมีคีย์ผสมกันได้

PHP
<?php

  $person = ["name" => "Alice", 28, "city" => "New York"];
  echo $person["name"]; // Output: Alice
  echo $person[0];    // Output: 28
  echo $person["city"]; // Output: New York

?>

การเพิ่มและแก้ไขสมาชิกของอาร์เรย์ (Adding and Modifying Array Elements)

การเพิ่มสมาชิก

PHP
<?php

  $colors = ["red", "green"];
  $colors[] = "blue"; // เพิ่ม "blue" ไปที่ท้ายอาร์เรย์ (ดัชนีอัตโนมัติ)
  $colors["favorite"] = "yellow"; // เพิ่มสมาชิกด้วยคีย์ "favorite"

  $ages = ["John" => 30];
  $ages["Jane"] = 25; // เพิ่มสมาชิกด้วยคีย์ "Jane"

  print_r($colors);
  echo "<br>";
  print_r($ages);

?>

การแก้ไขสมาชิก

PHP
<?php

  $colors = ["red", "green", "blue"];
  $colors[0] = "pink"; // แก้ไขสมาชิกที่มีดัชนี 0

  $ages = ["John" => 30, "Jane" => 25];
  $ages["John"] = 31; // แก้ไขสมาชิกที่มีคีย์ "John"

  print_r($colors);
  echo "<br>";
  print_r($ages);

?>

ฟังก์ชันที่เกี่ยวข้องกับอาร์เรย์ (Array Functions)

PHP มีฟังก์ชันมากมายที่ใช้ในการจัดการอาร์เรย์ เช่น:

  • count(): นับจำนวนสมาชิกในอาร์เรย์
  • print_r(): แสดงข้อมูลเกี่ยวกับอาร์เรย์ในรูปแบบที่มนุษย์อ่านได้
  • var_dump(): แสดงข้อมูลเกี่ยวกับอาร์เรย์ รวมถึงชนิดข้อมูลและความยาวของแต่ละสมาชิก
  • array_push(): เพิ่มสมาชิกหนึ่งหรือมากกว่าไปที่ท้ายอาร์เรย์
  • array_pop(): นำสมาชิกสุดท้ายออกจากอาร์เรย์
  • array_shift(): นำสมาชิกแรกออกจากอาร์เรย์
  • array_unshift(): เพิ่มสมาชิกหนึ่งหรือมากกว่าไปที่ต้นอาร์เรย์
  • sort(): เรียงลำดับสมาชิกของอาร์เรย์ (จากน้อยไปมาก)
  • rsort(): เรียงลำดับสมาชิกของอาร์เรย์ (จากมากไปน้อย)
  • ksort(): เรียงลำดับสมาชิกของอาร์เรย์ตามคีย์ (จากน้อยไปมาก)
  • krsort(): เรียงลำดับสมาชิกของอาร์เรย์ตามคีย์ (จากมากไปน้อย)
  • in_array(): ตรวจสอบว่ามีค่าที่ระบุอยู่ในอาร์เรย์หรือไม่
  • array_search(): ค้นหาคีย์ของค่าที่ระบุในอาร์เรย์
PHP
<?php

  $colors = ["red", "green", "blue"];
  echo "จำนวนสี: " . count($colors) . "<br>";
  print_r($colors);
  echo "<br>";
  array_push($colors, "yellow");
  print_r($colors);
  echo "<br>";
  $lastColor = array_pop($colors);
  echo "สีสุดท้ายที่ถูกนำออก: " . $lastColor . "<br>";
  print_r($colors);

?>

การวนซ้ำอาร์เรย์ (Looping Through Arrays)

คุณสามารถใช้ loops ต่างๆ เช่น for และ foreach เพื่อเข้าถึงสมาชิกทั้งหมดในอาร์เรย์

การใช้ for loop

PHP
<?php

  $numbers = [10, 20, 30, 40, 50];
  for ($i = 0; $i < count($numbers); $i++) {
    echo "Number at index " . $i . ": " . $numbers[$i] . "<br>";
  }

?>

การใช้ foreach loop

PHP
<?php

  $colors = ["red", "green", "blue"];
  foreach ($colors as $color) {
    echo "Color: " . $color . "<br>";
  }

  $ages = ["John" => 30, "Jane" => 25, "Peter" => 35];
  foreach ($ages as $name => $age) {
    echo $name . " is " . $age . " years old.<br>";
  }

?>

อาร์เรย์หลายมิติ (Multidimensional Arrays)

อาร์เรย์หลายมิติคืออาร์เรย์ที่ภายในมีอาร์เรย์อื่นๆ เป็นสมาชิก

PHP
<?php

  $students = [
    ["name" => "Alice", "age" => 20, "major" => "Computer Science"],
    ["name" => "Bob", "age" => 22, "major" => "Engineering"],
    ["name" => "Charlie", "age" => 21, "major" => "Mathematics"]
  ];

  echo $students[0]["name"] . " is " . $students[0]["age"] . " years old.<br>";
  echo $students[1]["major"]; // Output: Engineering

?>

กิจกรรมใน Module 5

  1. สร้างอาร์เรย์แบบมีดัชนีและแสดงผลสมาชิกบางตัว
  2. สร้างอาร์เรย์แบบมีคีย์และเข้าถึงค่าโดยใช้คีย์
  3. เพิ่มและแก้ไขสมาชิกในอาร์เรย์
  4. ใช้ฟังก์ชัน count(), print_r(), และ var_dump() กับอาร์เรย์
  5. วนซ้ำอาร์เรย์โดยใช้ for และ foreach loops
  6. สร้างอาร์เรย์หลายมิติและเข้าถึงข้อมูลภายใน

ใน Module ถัดไป เราจะเรียนรู้เกี่ยวกับการจัดการ String ใน PHP ซึ่งเป็นสิ่งสำคัญในการทำงานกับข้อความและข้อมูลที่เป็นตัวอักษรครับ!

ความคิดเห็น