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