อาร์เรย์ (Arrays) เป็นโครงสร้างข้อมูลที่สำคัญใน PHP ที่ช่วยให้คุณสามารถจัดเก็บและจัดการข้อมูลหลายๆ ค่าภายใต้ตัวแปรเดียวได้อย่างมีประสิทธิภาพ
อาร์เรย์คืออะไร?
อาร์เรย์ใน PHP คือตัวแปรที่สามารถเก็บค่าได้หลายค่า โดยแต่ละค่าจะถูกระบุด้วยสิ่งที่เรียกว่า “คีย์” (key) หรือ “ดัชนี” (index)
การสร้างอาร์เรย์ (Creating Arrays)
มีหลายวิธีในการสร้างอาร์เรย์ใน PHP:
การใช้วงเล็บเหลี่ยม []
(Array Literal)
<?php
$colors = ["red", "green", "blue"];
$numbers = [1, 2, 3, 4, 5];
$mixed = [1, "hello", 3.14, true];
?>
การใช้ฟังก์ชัน array()
<?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
$colors = ["red", "green", "blue"];
echo $colors[0]; // Output: red
echo $colors[1]; // Output: green
echo $colors[2]; // Output: blue
?>
อาร์เรย์แบบมีคีย์ (Associative Arrays)
ในอาร์เรย์แบบมีคีย์ สมาชิกแต่ละตัวจะมีคีย์เป็น String ที่คุณกำหนดเอง
<?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
$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
$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
$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
$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
$numbers = [10, 20, 30, 40, 50];
for ($i = 0; $i < count($numbers); $i++) {
echo "Number at index " . $i . ": " . $numbers[$i] . "<br>";
}
?>
การใช้ foreach
loop
<?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
$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
- สร้างอาร์เรย์แบบมีดัชนีและแสดงผลสมาชิกบางตัว
- สร้างอาร์เรย์แบบมีคีย์และเข้าถึงค่าโดยใช้คีย์
- เพิ่มและแก้ไขสมาชิกในอาร์เรย์
- ใช้ฟังก์ชัน
count()
,print_r()
, และvar_dump()
กับอาร์เรย์ - วนซ้ำอาร์เรย์โดยใช้
for
และforeach
loops - สร้างอาร์เรย์หลายมิติและเข้าถึงข้อมูลภายใน
ใน Module ถัดไป เราจะเรียนรู้เกี่ยวกับการจัดการ String ใน PHP ซึ่งเป็นสิ่งสำคัญในการทำงานกับข้อความและข้อมูลที่เป็นตัวอักษรครับ!