สิ่งที่ท่านจะได้ทราบในบทความนี้
- Array คืออะไร
- ประโยชน์ของ Array
- ทำไมโลกนี้จึงต้องมี Array
- วิธีสร้าง Array
- Array หลายมิติ
Array คืออะไร
Array หรือ อะเรย์ ในภาษาไทยเป็นตัวแปรประเภทหนึ่ง ที่สามารถเก็บค่าหลายๆค่าไว้ในตัวแปรชื่อเดียวกัน โดยอาศัยการเข้าถึงค่าแต่ละตัวด้วย เลขดัชนีหรือชื่อย่อยประจำตัวภายใน Array
ตอนสมัยที่เรียนใหม่ๆ Array เป็นไม้เบื่อไม้เมามาก ไม่ค่อยจะเข้าใจหลักการของมัน แต่หลังจากจบออกมาเป็นโปรแกรมเมอร์ จึงทราบว่ามันเป็นตัวแปรประเภทที่ขาดไม่ได้ในการเขียนโปรแกรม ถ้าท่านยังคิดภาพของ Array ไม่ค่อยออก ให้คิดเสียว่ามันเป็นแค่ตัวแปรที่เอามาต่อๆติดกัน แล้วมีตัวเลขเป็นตัวกำกับเพื่อแยกว่ามันเป็นตัวแปรตัวไหน เท่านั้นเอง
ประโยชน์ของ Array
- ประหยัดชื่อตัวแปร
- มีฟังก์ชั่นที่ใช้สำหรับจัดการ Array โดยเฉพาะ จำนวนมาก ไม่ว่าจะเป็นการเรียงค่าใหม่ หรืออื่นๆอีกเป็นปี้บ
- จัดการง่าย
ทำไมโลกนี้จึงต้องมี Array
ท่านลองนึกถึงภาพว่า เราต้องการเก็บข้อมูลของนักเรียนในห้องจำนวน 50 คน โดยเก็บรายละเอียดทุกอย่างเกี่ยวกับนักเรียนแต่ละคน ถ้าไม่มีอะเรย์เราอาจะต้องหาศัพท์มาตั้งชื่อตัวแปร เพื่อเก็บข้อมูล หมดพจนานุกรม หรือไม่งั้นก็ต้องใช้ตัวแปรทุเรศๆ เช่น student_1, height_1 เป็นต้น
แต่ถ้าใช้ตัวแปรอะเรย์ เราใช้ชื่อตัวแปรเพียงแค่ตัวเดียวก็พอ students ลองดูตัวอย่าง
$students = array( 0=>array('height'=>160,'age'=>18,'grade'=>'A'), 1=>array('height'=>190,'age'=>20,'grade'=>'E'), 2=>array('height'=>150,'age'=>19,'grade'=>'D'), ); |
Index Array และ Associative Array
Array ในภาษา PHP นั้นมีอยู่ 2 แบบ คือ
- Index Array อะเรย์ที่ใช้ตัวเลขกำกับ และใช้ตัวเลขเพื่อการเข้าถึงข้อมูลภายใน
$student = array(0=>15,1=>20,2=>50); // หรือแบบนี้ก็ได้ $student = array(15, 20, 50); |
เมื่อต้องการเข้าถึงค่าภายในอะเรย์
echo $student[1] ; //20 |
- Associative Array อะเรย์ที่ใช้ตัวหนังสือกำกับ และเข้าถึงข้อมูลภายใน
$students = array( 'name'=>'Watcharamet', 'age'=>38, 'height'=>180 ); |
เมื่อต้องการเข้าถึงค่าภายในอะเรย์
echo $student["name"] ; //Watcharamet |
Array หลายมิติ
อะเรย์นอกจากจะเก็บค่า ตัวเลข, ตัวหนังสือ, วันที่ ทั่วๆไปแล้ว ยังสามารถเก็บ อะเรย์ ไว้ภายในตัวเองได้ด้วย เป็นอะเรย์ซ้อนอะเรย์ เรียกว่าอะเรย์หลายมิติ
$animals = array( "cat"=>array("name"=>"dang", "legs"=>4, "seed"=>"fish"), "duck"=>array("name"=>"pod", "legs"=>2, "seed"=>"shell"), "dog"=>array("name"=>"tongdang", "legs"=>4, "seed"=>"rice"), ); |
เมื่อต้องการเข้าถึงตัวแปรอะเรย์แบบหลายมิติ สามารถทำได้ดังนี้
echo $animals["dog"]["legs"] ; // 4 |
iPong says:
15/06/2554 at 15/06/2554
ขอบคุณครับ
ชีวิตนี้ หนีไม่พ้น Array จริงๆ
… มี Array 3D ด้วย… – -“
administrator says:
15/06/2554 at 15/06/2554
อะเรย์ถ้าจะมองให้ง่าย ให้ลองมอง
อะเรย์ 1 มิติ มองให้เห็นเป็นข้อมูลที่ดึงจากฐานข้อมูล 1 แถว
อะเรย์ 2 มิติ มองให้เห็นเป็นข้อมูลที่ดึงจากฐานข้อมูลหลายแถว
อะเรย์ 3 มิติ มองให้เห็นเป็นจุดแต่ละจุดที่สร้างตัวละคร 3 มิติ เพราะมันมี กว้าง ยาว ลึก
สร้างภาพขึ้นมาในใจให้ได้ แล้วอะเรย์จะเป็นเรื่องง่าย และเป็นเครื่องมือขั้นสุดยอด
Wachira says:
10/09/2554 at 10/09/2554
ถ้าเป็นโปรแกรมยุคแรกๆ ที่ไม่มี Array ใช้การเขียนโค๊ดวุ่นวายมากครับ มาถึงยุคที่มี Array ใช้โค๊ดสั้นลงไปเอยะแถมเขียนง่ายขึ้นเยอะมากเลยครับ ไม่เป็นสปาเก๊ตตี้โค๊ดเหมือนสมัยก่อนครับ
administrator says:
10/09/2554 at 10/09/2554
นึกถึงคำสปาเกตตี้โค้ดแล้วตลกตัวเอง ผมอ่านเป็น สะเป๊กเฮตติโค้ด ผมคิดอยู่ตั้งนานว่ามันหมายความว่ายังไง คิดอยู่หลายวันเลยครับ จนตอนหลังมานั่งดูใหม่ อ๋อ สปาเกตตี้โค้ด สปาเกตตี้มันเป็นเส้นพันๆกันในจาน นี่เอง
bugbo says:
12/01/2557 at 12/01/2557
ขอบคุณครับ สำหรับบทความดีๆ ^_^