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