วันพุธที่ 30 พฤษภาคม พ.ศ. 2555

Arrays


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

แต่ละอีลิเมนต์ จะมีอินเด็กซ์ ซึ่งเปรียบเสมือนเป็นคีย์ของอะเรย์ เพื่อใช้สำหรับระบุค่าที่เก็บอยู่ภายในแต่ละอีลิเมนต์ของอะเรย์ ค่าอินเด็กซ์ใน PHP จะเริ่มต้นที่ 0 เป็นค่าแรก เรียงไปเรื่อยๆ ตั้งแต่ 0,1,2,... จนหมดอีลิเมนต์ และสามารถกำหนดอินเด็กซ์ของอะเรย์เป็นตัวอักษรได้อีกด้วย

อะเรย์ มีด้วยกัน 3 ชนิด ดังนี้

Numeric arrays - เป็นอะเรย์ที่มีคีย์ทั่วไปเป็นตัวเลข
Associative arrays - เป็นอะเรย์ที่แต่ละคีย์จะมีค่ากำหนดไว้ด้วย
Multidimensional arrays - เป็นอะเรย์ซ้อนอะเรย์ ที่บรรจุค่าเป็นมิติมากมาย

Numeric array

มีหลายแบบในการสร้าง numeric array มาดูตัวอย่างแรกกัน
$name = array("Chai","Ying","Pong");
ดูตัวอย่างที่ 2 กัน

$name[0] = "Chai";
$name[1] = "Ying";
$name[2] = "Pong";
แต่ละคีย์ในตัวอย่างข้างบนเป็นค่าที่คุณสามารถใช้ได้เมื่อเขียนสคริปต์
Syntax

<?php
$name[0] = "Chai";
$name[1] = "Ying";
$name[2] = "Pong";
echo $name[1] . " & " . $name[2] . 
" are ". $name[0] . "'s Friends";
?>
โค้ดข้างบนจะได้ผลลัพธ์ คือ Ying & Pong are Chai's Friends

Associative array

ถ้าคุณต้องการเก็บตัวแปรที่มีการระบุค่าด้วยแล้ว Associative array ดูจะเป็นทางเลือกที่เหมาะสมมากกว่า Numeric array มาดูตัวอย่างแรกกัน
$age = array( "Chai"=>28, "Ying"=>22, "Pong"=>25 );
ดูตัวอย่างที่ 2 กัน ซึ่งมีผลลัพธ์ไม่ต่างจากตัวอย่างแรก แต่เขียนต่างกัน

$name[Chai] = "28";
$name[Ying] = "22";
$name[Pong] = "25";

Multidimensional Array

อะเรย์สามารถซ้อนกันได้ตั้งแต่ 2 อะเรย์ขึ้นไป มาดูตัวอย่างกัน
$families = array(
  "Pong"=>array(
    "Sit",
    "Lek",
    "Pat",
    "Wit",
    "Muay",
    "Bee"
    ),
  "Beam"=>array(
    "Dan"
    ),
  "Ken"=>array(
    "Jerry",
    "Yai",
    "Vanness"
    )
);
อะเรย์ข้างบนนี้ จะมีผลลัพธ์เหมือนกับข้างล่าง

Array
(
[Pong] => Array
  (
  [0] => Sit
  [1] => Lek
  [2] => Pat
  [3] => Wit
  [4] => Muay
  [5] => Bee
  )
[Beam] => Array
  (
  [0] => Dan
  )
[Ken] => Array
  (
  [0] => Jerry
  [1] => Yai
  [2] => Vanness
  )
) 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น