การสร้างเว็บเพจโดยใช้ภาษา
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";
?> |
|