วิธีการดึงข้อมูลจากอาร์เรย์ 2 มิติ มาใส่ในตาราง

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderators: mindphp, ผู้ดูแลกระดาน

batman1292
PHP Jr. Member
PHP Jr. Member
Posts: 24
Joined: 10/01/2012 1:09 pm

วิธีการดึงข้อมูลจากอาร์เรย์ 2 มิติ มาใส่ในตาราง

Post by batman1292 »

Code: Select all

$multi[0][0] = 1;
$multi[0][1] = 2;
$multi[0][2] = 3;
$multi[1][0] = 4;
$multi[1][1] = 5;
$multi[1][2] = 6;
$multi[2][0] = 7;
$multi[2][1] = 8;
$multi[2][2] = 9;
  $i=0;
  echo '<table border="1" width="100%">';
  foreach ($multi as $multi[$i]){
      $j=0;
      foreach ($multi[$i] as $multi[$i][$j]){
          $value = $multi[$i][$j];
          echo "<tr><td>{$value}</td></tr>";
          $j++;
      }
      $i++;
  }
  echo'</table>'; 
จากโค๊ดตัวอย่างข้างต้นเป็นการสร้างอาร์เรย์สองมิติทีีมีขนาด 3*3
จากนั้นสร้างตัวแปรมาหนึ่งตัวเพื่อใช้วนค่าของตำแหน่งแรกของอาร์เรย์ในที่นี้ใช้ชืื่อว่าตัวแปรi
จากนั้นจึงสร้างตารางขึ้นมา
แล้วจึงสร้างลูปขึ้นมา1ลูปเพื่อวนตำแหน่งแรกสุดของอาร์เรย์
โดยในเงื่อนไขของลูปแรก $multi จะเป็นตัวอาร์เรย์ทั้งหมด และ $multi[$i] จะเป็นตำแหน่งแรกของอาร์เรย์
จากนั้นสร้างตัวแปรมาหนึ่งตัวเพื่อใช้วนค่าของตำแหน่งที่สองของอาร์เรย์ในที่นี้ใช้ชืื่อว่าตัวแปรj
แล้วจึงสร้างลูปขึ้นมา1ลูปเพื่อวนตำแหน่งที่สองของอาร์เรย์
โดยในเงื่อนไขลูปนี้ $multi[$i] จะเหมือนกับเงื่อนไขของลูปแรกและ $multi[$i][$j] จะเป็นตำแหน่งที่สองของอาร์เรย์โดยอ้างอิงจากตำแหน่งแรก
จากนั้นสร้างตัวแปรมาหนึ่งตัวเพื่อเก็บค่าของอาร์เรย์ในตำแหน่ง$multi[$i][$j] ในที่นี้ใช้ตัวแปรชื่อว่าvalue
แล้วจึงใช้คำสั่งแสดงค่าของตัวแปรvalueใส่ในตาราง
จากนั้นก็เพิ่มค่าของตัวแปรjแล้วจบลูปที่สอง
จากนั้นเพิ่มค่าของตัวแปรiแล้วจบลูปแรก
สุดท้ายใช้คำสั่งปิดตารางเป็นอันเสร็จสิ้นการดึงข้อมูลจากอาร์เรย์ :idea:
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25929
Joined: 22/09/2008 6:18 pm
Contact:

Re: วิธีการดึงข้อมูลจากอาร์เรย์ 2 มิติ มาใส่ในตาราง

Post by mindphp »

ใช้ foreach แล้วไม่ต้องไป กำหนด $i, $j เพื่อนับจำนวน Loop ก็ได้ครับ
ใช้ key ของ array เป็น index ได้เลย

และโค้ดที่ยกมา tr , td วางตำแหน่งผิด ควรปรับโ้ค้ดเป็น

Code: Select all

$multi[0][0] = 1;
$multi[0][1] = 2;
$multi[0][2] = 3;
$multi[1][0] = 4;
$multi[1][1] = 5;
$multi[1][2] = 6;
$multi[2][0] = 7;
$multi[2][1] = 8;
$multi[2][2] = 9;

  echo '<table border="1" width="100%">';
  foreach ($multi as $k=>$v){
      echo '<tr>';
      foreach ($v as $k2=>$v2){
          $value = $multi[$k][$k2];
          echo '<td>'.$value.'</td>';
      }
      echo '</tr>';
  }
  echo'</table>';  
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Share Knowledge”

Who is online

Users browsing this forum: No registered users and 3 guests