การสร้างเว็บเพจโดยใช้ภาษา PHP บทที่ 20

การใช้อาร์เรย์สองมิติ

ถ้าเราต้องการจะใช้อาร์เรย์แบบสองมิติ (หรือมากกว่า) ก็ทำได้เช่นกัน คือชื่อตัวแปรแล้วตามด้วย [..][..] ตัวอย่างเช่น
 
<?

$dim = 3;
for ($row=0; $row <= $dim; $row++) {
  for ($column=0; $column <= $dim; $column++) {
    $myarray2[$row][$column] = 4*$row + $column;
    echo $myarray2[$row][$column]," ";
  }
  echo "<BR>\n";
}

?>

สังเกตว่า สำหรับการใช้งานตัวแปรที่เป็นอาร์เรย์ เราไม่จำเป็นต้องแจ้งใช้ตัวแปรที่เป็นอาร์เรย์ พร้อมกำหนดขนาดก่อนการใช้งาน



อาร์เรย์แบบเชื่อมโยงหรือ associative array

การเก็บข้อมูลในอาร์เรย์แบบนี้จะใช้กับข้อมูลที่จัดเก็บเป็นคู่ๆไป ซึ่งแตกต่างจากอาร์เรย์แบบแรกที่เราได้ทำความรู้จัก ตัวอย่างเช่น ใช้ทำ lookup table เช่น สมมุติว่า "red" ให้แทนค่า 0xff0000  "green" ให้แทนค่า 0x00ff00 และ "blue" 0x0000ff โดยเก็บไว้ในอาร์เรย์ชื่อ $color_table ตามตัวอย่างต่อไปนี้
 
$color_table["red"]   = 0xff0000;
$color_table["green"] = 0x00ff00;
$color_table["blue"]  = 0x0000ff;

$color_name= "red";
echo "value = ".$color_table[ $color_name]."<BR>\n";
 

หรืออีกรูปแบบหนึ่งที่เขียนสร้างอาร์เรย์ดังกล่าวได้ โดยใช้คำสั่ง array()
 
$color_table = array(
     "red"   => 0xff0000,
     "green" => 0x00ff00,
     "blue"  => 0x0000ff
);

เราอาจจะสร้างอาร์เรย์เป็นสองมิติก็ได้ เช่น
 
<?
$countries = array (
  "thailand"  => array ( "zone" => "Asia", "D_NAME" => ".th"),
  "malasia"  => array ( "zone" => "Asia", "D_NAME" => ".my"),
  "india"       => array ( "zone" => "Asia", "D_NAME" => ".in"),
  "holland"  => array ( "zone" => "Europe", "D_NAME" => ".nl"),
  "france"    => array ( "zone" => "Europe", "D_NAME" => ".fr")
);

echo "domain name=".$countries[ "thailand"]["D_NAME"]."<BR>\n";
?>