PHP 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
)
) |
|
|
 |