Kodokon kodokon.com

อาร์เรย์: รายการและคู่คีย์-ค่า

เก็บค่าหลายค่าไว้ในอาร์เรย์แบบดัชนีหรือแบบเชื่อมโยง แล้วจัดการพวกมันด้วยฟังก์ชันสำคัญของ PHP

8 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

อาร์เรย์ (array) คือตัวแปรที่สามารถเก็บค่าหลายค่าได้พร้อมกัน เหมือนชั้นวางที่มีหลายช่อง ใน อาร์เรย์แบบดัชนี (indexed array) แต่ละช่องมีหมายเลขกำกับด้วย ดัชนี (index) ที่เริ่มต้นที่ 0 ดังนั้นสมาชิกตัวแรกคือ $colors[0] คุณสร้างอาร์เรย์ด้วยวงเล็บเหลี่ยม [...] อ่านช่องด้วย $colors[index] และไวยากรณ์ $colors[] = ... จะเพิ่มค่าใหม่ที่ท้ายสุด

PHP
<?php

$colors = ["red", "green", "blue"];

echo $colors[0];
echo $colors[2];

$colors[] = "yellow";
$colors[1] = "purple";

echo count($colors);
อ่าน เพิ่มต่อท้าย แก้ไข จำนวนสมาชิกคือ 4

บางครั้งตัวเลขก็ไม่ได้สื่อความหมายอะไร ในการอธิบายคน ป้ายกำกับย่อมดีกว่า อาร์เรย์แบบเชื่อมโยง (associative array) เชื่อม คีย์ (key) (ชื่อ ซึ่งมักเป็นสายอักขระ) เข้ากับ ค่า (value) ด้วยลูกศร => ที่อ่านว่า “สอดคล้องกับ” จากนั้นคุณเข้าถึงค่าด้วยคีย์ของมัน เช่น $user["name"] มันคือโครงสร้างที่ PHP เลือกใช้เป็นหลักในการแทนข้อมูล

PHP
<?php

$user = [
    "name" => "Awa",
    "age" => 28,
    "city" => "Lyon",
];

echo $user["name"];
echo $user["city"];

$user["age"] = 29;
แต่ละคีย์นำไปสู่ค่าของมัน เหมือนพจนานุกรมขนาดเล็ก

PHP มีฟังก์ชันสำหรับอาร์เรย์ให้ใช้พร้อมนับร้อยฟังก์ชัน จำตัวสำคัญ ๆ ไว้ ได้แก่ count($array) คืนจำนวนสมาชิก in_array($value, $array) ตอบ true หากมีค่านั้นอยู่ sort($array) เรียงลำดับอาร์เรย์ในตัวมันเอง จากน้อยไปมาก implode($glue, $array) เชื่อมสมาชิกทุกตัวเป็นสายอักขระเดียว โดยคั่นด้วยข้อความที่คุณเลือก และ array_keys($array) คืนรายการของคีย์

PHP
<?php

$numbers = [8, 3, 5];
sort($numbers);

echo implode(" - ", $numbers);
echo "<br>";

$guests = ["Awa", "Bruno", "Chloe"];

if (in_array("Bruno", $guests)) {
    echo "Bruno is on the list.<br>";
}

echo count($guests);
แสดง 3 - 5 - 8 แล้วตรวจสอบและนับจำนวนแขก

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. ดัชนีของสมาชิกตัวแรกในอาร์เรย์แบบดัชนีคืออะไร?
    • 0
    • 1
    • -1
  2. จาก $user = ["city" => "Lyon"] คุณจะอ่านค่า “Lyon” ได้อย่างไร?
    • $user->city
    • $user["city"]
    • $user.city
  3. count($colors) คืนค่าอะไร?
    • สมาชิกตัวสุดท้ายของอาร์เรย์
    • จำนวนสมาชิกในอาร์เรย์
    • ผลรวมของค่าในอาร์เรย์