ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

 บทที่ 20 การใช้อาร์เรย์สองมิติ (2 Dimension Array)

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

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



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

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

ไฟล์ตัวอย่าง :: code_ex2.php
<?php
$color_table["red"]   = 0xff0000;
$color_table["green"] = 0x00ff00;
$color_table["blue"]  = 0x0000ff;
$color_name= "red";
echo "value = ".$color_table[ $color_name]."<BR> ";
?>

หรืออีกรูปแบบหนึ่งที่เขียนสร้างอาร์เรย์ดังกล่าวได้ โดยใช้คำสั่ง array()
 

ไฟล์ตัวอย่าง :: code_ex3.php
<?php
$color_table = array(
     "red"   => 0xff0000,
     "green" => 0x00ff00,
     "blue"  => 0x0000ff
);
?>

เราอาจจะสร้างอาร์เรย์เป็นสองมิติก็ได้ เช่น
 

ไฟล์ตัวอย่าง :: code_ex4.php
<?php
$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> ";
?>

ชื่อ
บทที่ 20 การใช้อาร์เรย์สองมิติ (2 Dimension Array)
หมวดหมู่
PHP Basics, PHP Basics
ฮิต
4616
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:16:07

chapter_20.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.26 KB

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-04-19 17:35:33




VDO สอน เรื่อง Array 2 มิติ http://www.youtube.com/watch?v=i4CaiSEYv6Y

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
เรื่องจริงที่ Developer ทุกคนเคยเจอ
โดย Before Dong ศ 20 ต.ค. 2017 9:32 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
24
ศ 20 ต.ค. 2017 9:32 am โดย Before Dong
ภาพความฝัน กับความจริง ตอนรันโปรแกรม รันกราฟโชว์ผลงาน
โดย Before Dong พฤ 19 ต.ค. 2017 10:30 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
3
112
ศ 20 ต.ค. 2017 9:15 am โดย Before Dong
อยากหัดเขียนโปรแกรมเซฟรูปจากห้องแชทในไลน
โดย pwbank พฤ 19 ต.ค. 2017 11:59 pm บอร์ด Programming - C/C++ & java & Python
0
13
พฤ 19 ต.ค. 2017 11:59 pm โดย pwbank
เขียนโค้ดยังไงให้จับคู่ตัวเลขทุกตัว โดยใช้ javascript เท่านั้น
โดย mybbb พฤ 19 ต.ค. 2017 9:59 pm บอร์ด JavaScript & Jquery Ajax
0
9
พฤ 19 ต.ค. 2017 9:59 pm โดย mybbb
ตัวอย่างการใช้คำสั่ง time.sleep() ใน Selenium
โดย paoonline พฤ 19 ต.ค. 2017 6:58 pm บอร์ด Python Knowledge
0
20
พฤ 19 ต.ค. 2017 6:58 pm โดย paoonline
ติดตั้ง จูมช็อบปิ้งไม่ได้ครับ Error
โดย chungchai พ 18 ต.ค. 2017 7:54 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
3
24
พ 18 ต.ค. 2017 7:54 pm โดย chungchai
ตัวอย่าง การดึงข้อมูลเวลาวันที่จากฐานข้อมูลมาแปลงเป็นรูปแบบ Date Time(เดททาม) สากล
โดย paoonline พ 18 ต.ค. 2017 4:05 pm บอร์ด Python Knowledge
0
35
พ 18 ต.ค. 2017 4:05 pm โดย paoonline
ยกเลิก Class ชื่อ JDocumentRendererHead ในเวอร์ชั่น 3.8.0 ขึ้นไป ทำให้เกิด Error ที่หน้าเว็บไซต์
โดย tsukasaz พ 18 ต.ค. 2017 3:58 pm บอร์ด Joomla Development
0
18
พ 18 ต.ค. 2017 3:58 pm โดย tsukasaz
เส้นทางที่โรยด้วย กลีบกุหลาบ ของโปรแกรมเมอร์
โดย Before Dong พ 18 ต.ค. 2017 11:29 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
215
พ 18 ต.ค. 2017 11:29 am โดย Before Dong
คำสั่ง ดู พื้นที่ใน Folder Linux
โดย mindphp อ 17 ต.ค. 2017 9:42 pm บอร์ด Linux - Web Server
1
36
อ 17 ต.ค. 2017 9:42 pm โดย mindphp
สอบถามไม่สามารถใช้ Selenium IDE ใน Firefox ได้ครับ
โดย paoonline อ 17 ต.ค. 2017 4:39 pm บอร์ด Programming - C/C++ & java & Python
0
35
อ 17 ต.ค. 2017 4:39 pm โดย paoonline
สอบถามถ้าต้องการเช็คค่าที่เป็นจุดทศนิยมเเล้วต้องการปัดลงจะทำยังไงได้บ้างค่ะ
โดย thatsawan อ 17 ต.ค. 2017 1:42 pm บอร์ด Programming - C/C++ & java & Python
2
65
อ 17 ต.ค. 2017 1:42 pm โดย jataz2
Project Manager VS Developer - เมื่อประชุมทีมพัฒนา
โดย Before Dong อ 17 ต.ค. 2017 10:41 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
79
อ 17 ต.ค. 2017 10:41 am โดย Before Dong
หนังสือส่งมอบงาน +คู่มือ+วีดีโอ+Cheklist - อะเมริซีด อินเตอร์เนชัน แนล จำกัด
โดย M029 จ 16 ต.ค. 2017 3:53 pm บอร์ด อะเมริซีด อินเตอร์เนชัน แนล จำกัด
0
2
จ 16 ต.ค. 2017 3:53 pm โดย M029
Project Manager VS Developer - เมื่อต้อง set demo เว็บไซต์
โดย Before Dong จ 16 ต.ค. 2017 11:15 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
1239
จ 16 ต.ค. 2017 11:15 am โดย Before Dong
แก้ปัญหา PGSQL FATAL: sorry, too many clients already.
โดย mindphp ส 14 ต.ค. 2017 1:35 am บอร์ด PostgreSQL
0
47
ส 14 ต.ค. 2017 1:35 am โดย mindphp
จะสร้าง FTP account ใน cpanel ยังไง พอมีวิธ๊แนะนำมั้ย
โดย บุคคลทั่วไป ศ 13 ต.ค. 2017 11:04 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
45
ศ 13 ต.ค. 2017 11:04 pm โดย บุคคลทั่วไป
อยากสอบถามวิธีการเพิ่ม user เข้าใช้งาน cpanel
โดย บุคคลทั่วไป ศ 13 ต.ค. 2017 10:49 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
64
ศ 13 ต.ค. 2017 10:49 pm โดย บุคคลทั่วไป
แก้ปัญหา ลบฐานข้อมูลใน PostgreSQL ด้วยคำสั่ง dropdb ไม่ได้
โดย mindphp ศ 13 ต.ค. 2017 9:10 pm บอร์ด PostgreSQL
1
43
ศ 13 ต.ค. 2017 9:10 pm โดย mindphp
Php. ไม่สามารถอ่านค่าที่ส่งมาจาก vb(c#)ได้
โดย Note Pookinghin พฤ 12 ต.ค. 2017 7:19 pm บอร์ด Programming - PHP
1
67
พฤ 12 ต.ค. 2017 7:19 pm โดย mindphp