PHP เบื้องต้น > การทำงานกับ Array
Array หลายมิติ
มีโอกาสที่ต้องแสดงรายละเอียดด้วย array มากกว่า 2 มิติ โดย PHP ให้การสนับสนุนการทำงานนี้ด้วย array หลายมิติ (multi-dimension array)
เนื่องจากค่าหน่วยข้อมูลของ array สามารถเป็นได้ทุกอย่าง รวมถึงเป็นอีก array ต่อไปเป็นการสร้าง array หลายมิติ
<?php
$products = array();
$products["ShampooAloevera"] = array("desc" => "Shampoo Aloe vera",
" volumn_cc" => 200 , " price" => 50 , " stock" => 245) ;
$products["ShampooSoapnut"] = array("desc" => "Shampoo Soapnut",
" volumn_cc" => 200 , " price" => 50 , " stock" => 98) ;
$products["ShampooGinger"] = array("desc" => "Shampoo Ginger",
" volumn_cc" => 200 , " price" => 50 , " stock" => 127) ;
?>
การเข้าถึงหน่วยข้อมูลใน array หลายมิติใช้การวางวงเล็บสี่เหลี่ยมกับแต่ละชื่อ
<?php
$descriptions = array_keys($products);
foreach ($descriptions as $desc)
{
print $products[$desc]["desc"]. " จำนวน: " . $products[$desc]["stock"]
. " <br/>\n";
}
?>
วิธีการสร้าง array หลายมิติที่สะดวกสามารถใช้ฟังก์ชัน array_fill ฟังก์ชันนี้สร้าง array ให้ด้วยค่าตามค่าเริ่มต้น ถ้าต้องการสร้างเมทริกซ์ 3 x 3 สามารถใช้ฟังก์ชัน array_fill ที่ใช้ 3 อากิวเมนต์ คือ ดัชนีเริ่มต้น จำนวนหน่วยข้อมูล และค่าที่ต้องการวางในแต่ละหน่วยข้อมูล
<?php
$metrix3d = array_fill(0, 3, array_fill(0, 3, 0));
foreach ($metrix3d as $row)
echo "{$row[0]} {$row[1]} {$row[2]} <br/>\n";
?>
ผลลัพธ์คือ
0 0 0
0 0 0
0 0 0
|