Array in PHP บทเรียนเรื่อง การใช้ Array ในภาษา PHP
Array คือ ? ในภาษาไทยเป็นตัวแปรประเภทหนึ่ง ที่สามารถ เก็บค่าหลายๆค่าไว้ในตัวแปรชื่อเดียวกัน โดย อาศัยการเข้าถึงค่าแต่ละตัวด้วย เลขดัชนีหรือชื่อ ย่อยประจำตัวภายใน Array
ประโยชน์ของตัวแปร Array ใน PHP ประหยัดชื่อตัวแปร มีฟังก์ชั่นที่ใช้สำหรับจัดการ Array โดยเฉพาะ จำนวนมาก ไม่ว่าจะเป็นการเรียงค่าใหม่ หรืออื่นๆ อีกเป็นปี้บ จัดการง่าย
ตัวอย่าง
รูปแบบการเขียน Array แบบไม่ตั้งค่าเริ่มต้น $variable_array = array(); แบบตั้งค่าเริ่มต้น $variable_array = array("data1","data2","data3","data4","data5");
Array ในภาษา PHP นั้นมีอยู่ 2 แบบ คือ Index Array Associative Array
Index Array Index Array อะเรย์ที่ใช้ตัวเลขกำกับ และใช้ตัวเลขเพื่อ การเข้าถึงข้อมูลภายใน $student = array(0=>15,1=>20,2=>50); $student = array(15, 20, 50); เมื่อต้องการเข้าถึงค่าภายในอะเรย์ echo $student[1] ; แสดงผล : 20
Associative Array 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"] ;
การใช้คำสั่ง Array ร่วมกับ Loop ถ้าเราต้องการจะเข้าถึงข้อมูลแต่ละคู่ที่ถูกเก็บอยู่ใน associative array เราอาจจะใช้วิธีเรียกผ่านฟังก์ชัน each() และ list() ตามตัวอย่างต่อไปนี้ associative array $a = array( "a" => 10, "b" => 20, "c" => 30 ); while (list($key,$value) = each($a)) { echo “ $ key=$value “; } each( ) จะอ่านข้อมูลทีละคู่จากอาร์เรย์แบบเชื่อมโยงมาแล้วส่งไปยังฟังก์ชัน list( ) ซึ่งจะทำหน้าที่แยกเก็บ
การใช้คำสั่ง Array ร่วมกับ Loop foreach คือ คำสั่งสำหรับการวนลูปการทำงาน ซึ่งมีข้อดีตรงที่ ไม่จำเป็นจะต้องกำหนดจำนวนรอบในการทำงาน ซึ่งคำสั่ง forearch จะทำงานจนหมดรอบด้วยตัวเอง $fruits=array (" Cherry "," Piapple "," Mango "," Orange "); foreach ( $fruits as $a ){ echo $a; }