Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > หากได้ array ซ้อน array มาแบบนี้ ต้องเขียนวน loop ยังไงครับ



 

หากได้ array ซ้อน array มาแบบนี้ ต้องเขียนวน loop ยังไงครับ

 



Topic : 135812



โพสกระทู้ ( 190 )
บทความ ( 0 )



สถานะออฟไลน์




หากได้ array ซ้อน array มาแบบนี้ ต้องเขียนวน loop ยังไงครับ หากอยากได้ Array ชั้นที่ 2 เป็นต้นไป

Code (PHP)
array(3) {
  ["ok"]=>
  bool(true)
  ["rows"]=>
  array(2) {
    [0]=>
    array(21) {
      ["d1"]=>
      int(0)
      ["d2"]=>
      int(0)
      ["d3"]=>
      int(0)
      ["d4"]=>
      int(0)
      ["d5"]=>
      int(0)
      ["d7"]=>
      int(7)
      ["d8"]=>
      int(0)
      ["d9"]=>
      string(9) "คอมพิวเตอร์"
      ["d10"]=>
      int(1)
      ["d11"]=>
      int(4)
      ["d12"]=>
      int(0)
      ["d13"]=>
      int(0)
      ["d14"]=>
      int(1)
      ["d15"]=>
      int(0)
      ["d16"]=>
      int(1)
      ["d17"]=>
      int(0)
      ["d18"]=>
      int(0)
      ["d19"]=>
      int(5)
      ["d20"]=>
      NULL
      ["d21"]=>
      NULL
      ["d22"]=>
      NULL
    }
    [1]=>
    array(21) {
      ["d1"]=>
      int(0)
      ["d2"]=>
      int(0)
      ["d3"]=>
      int(0)
      ["d4"]=>
      int(0)
      ["d5"]=>
      int(0)
      ["d7"]=>
      int(0)
      ["d8"]=>
      int(0)
      ["d9"]=>
      string(9) "โน๊บบุค"
      ["d10"]=>
      int(1)
      ["d11"]=>
      int(0)
      ["d12"]=>
      int(0)
      ["d13"]=>
      int(0)
      ["d14"]=>
      int(1)
      ["d15"]=>
      int(0)
      ["d16"]=>
      int(1)
      ["d17"]=>
      int(0)
      ["d18"]=>
      int(0)
      ["d19"]=>
      int(0)
      ["d20"]=>
      NULL
      ["d21"]=>
      NULL
      ["d22"]=>
      NULL
    }
  }
  ["code"]=>
  int(200)
}




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-01-06 16:16:23 By : the_cop View : 1711 Reply : 7
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


ความชัดเจนของชื่อคีย์ ไม่ชัดเจน อาจอ้างอิงผิดผลาด

ลองใช้ json encode - decode ช่วย

Code (PHP)
$js = json_decode(json_encode($your_array));
print_r($js); จะเห็นชื่อคีย์ที่จะใช้อ้างอิง ชัดเจน

หรือ

Code (PHP)
function show_object($js){
  foreach($js as $k=>$v){
    echo $k,'=[';
    if(isObject($v){
      show_object($v);
    }else{
      echo $v;
    }
    echo ']</br>';
  }
}
$js = json_decode(json_encode($your_array));
show_object($js);

ปล. ตัวอย่างพอสังเขป








ประวัติการแก้ไข
2021-01-06 17:10:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-06 17:08:37 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


Code (PHP)
if (isset($array['ok']['rows'])) {
    print_r($array['ok']['rows']);
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-06 17:15:27 By : mr.v
 

 

No. 3



โพสกระทู้ ( 190 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-01-06 17:08:37
รายละเอียดของการตอบ ::
ลองปรับแก้ตามแล้วครับ แต่ Error แถวนี้ foreach($json_cofirm as $k=>$v){ // Invalid argument supplied for foreach()

Code (PHP)
function show_object($json_cofirm){
    foreach($json_cofirm as $k=>$v){
      echo $k,'=[';
      if(is_object($v)){
        show_object($v);
      }else{
        echo $v; 
      }
      echo ']</br>';
    }
  }
  $json_cofirm = json_decode(json_encode($api_cofirm));
  show_object($json_cofirm);


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-06 21:18:47 By : the_cop
 


 

No. 4



โพสกระทู้ ( 190 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : mr.v เมื่อวันที่ 2021-01-06 17:15:27
รายละเอียดของการตอบ ::
ขอบคุณครับ ...แต่ไม่มีอะไรออกมาเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-06 21:25:02 By : the_cop
 


 

No. 5



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : the_cop เมื่อวันที่ 2021-01-06 21:25:02
รายละเอียดของการตอบ ::
แก้ไข
Code (PHP)
print_r($array['rows']);


เปิดแสดง error ด้วย ถ้ามันมีอะไรผิดมันจะได้แจ้ง ไม่ต้องมานั่งงมเอาเอง

แล้วก็ตัวแปร $array ผมสมมุติ เพราะคุณไม่มีมาให้ ต้องแก้ให้ตรงเอาเองนะ



ประวัติการแก้ไข
2021-01-06 21:40:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-06 21:38:15 By : mr.v
 


 

No. 6



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
function show_object($json_cofirm, $t){
  // เพิ่มรายการตรวจสอบ
  if(is_null($json_cofirm)){
    echo '**** is null ****'; return;
  }
  if(is_string($json_cofirm)){
    echo '(s)',$json_cofirm; return;
  }
  if(count($json_cofirm)<1){ 
     echo '--- empty ---'; return;
  }
  foreach($json_cofirm as $k=>$v){
    echo  $t>0 ? str_repeat('|---',$t) : '', $k,'=[', show_object($v, $t+1),']</br>';
  }
}
//$json_cofirm = json_decode(json_encode($api_cofirm)); // เอาออก ใช้ function ไม่จำเป็นต้อง convert
//show_object($json_cofirm);
show_object($api_cofirm,0);




ประวัติการแก้ไข
2021-01-07 10:58:49
2021-01-07 11:02:00
2021-01-07 11:03:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-07 10:54:55 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 190 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-01-07 10:54:55
รายละเอียดของการตอบ ::
ขอบคุณครับมากๆ ครับ loop ข้อมูลออกมาได้แล้วครับ

แต่เพิ่มการตรวจสอบไปครอบอีก เพราะมันมี Error ตรงนี้ครับ

Code (PHP)
  if(is_array($json_cofirm)){
    foreach($json_cofirm as $k=>$v){
      echo  $t>0 ? str_repeat('',$t) : '', $k,'', show_object($v, $t+1),'</br>';
    }


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-01-07 11:30:02 By : the_cop
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : หากได้ array ซ้อน array มาแบบนี้ ต้องเขียนวน loop ยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่