2017-08-07 24 views
0

我有一個很長的數組,我希望從中獲取所有值以顯示 他們的php前端頁面。我有兩個數據庫表。如何從嵌套的foreach循環數組中獲取值(按類別提取產品詳細信息)?

  1. 分類 - cat_id,cat_name;
  2. 清單項產品 - pro_id,cat_id, cat_name,pro_name,price;下面

    我的陣列給出:

    Array([0] => Array (
          [3] => Array([cat_id] => 3 
            [cat_name] => Mobile Phones 
            [product] => Array(
              [26] => Array(
                [pro_id] => 26 
                [pro_name] => iPhone 7 
                [price] => 70000 
               ) 
              [25] => Array(
                [id] => 25 
                [pro_name] => iPhone 6 
                [price] => 60000 
               )       
             ) 
           ) 
         ) 
    
        [1] => Array(
          [5] => Array([id] => 5 
            [name] => Software 
            [product] => Array(
              [21] => Array(
                [id] => 21 
                [pro_name] => Lorem Ipsum is simply 
                [price] => 5000 
               ) 
              [11] => Array 
               (
                [id] => 11 
                [pro_name] => Lorem Ipsum is simply 
                [price] => 10000 
               ) 
             ) 
           ) 
         ) 
    [2] => Array([4] => Array([id] => 4 
            [name] => Accessories 
            [product] => Array(
              [20] => Array(
                [id] => 20 
                [pro_name] => japan 
                [price] => 40000 
               ) 
             ) 
           ) 
         ) 
    

我無法通過使用此代碼來獲取這個數組的值:

if(!empty($product)){ 
      foreach($product as $catname){ 
       echo $catname['cat_name']; 
       echo "<br>"; 
       foreach($product[] as $detail=> $row { 
        echo $row['product_id']; 
        echo $row['pro_name']; 
        echo $row['price'];   
       } 

其示值誤差。但我想這樣的輸出:

Mobile Phones 
    26 
    iPhone 7 
    70000 

    25 
    iPhone 6 
    60000 


Software 
    21 
    Lorem Ipsum is simply 
    5000 

    11 
    Lorem Ipsum is simply 
    10000 


Accessories 
    20 
    japan 
    40000 
+0

請問你把它放在一個數組值,而不是陣列輸出?當注意不那麼清晰時很難追蹤 – smzapp

+0

我不明白爲什麼數組中有'cat_id'或'pro_id'而不是'id'。 – iArcadia

+0

對不起,它錯誤地鍵入...現在糾正 –

回答

0

容易,只能使用此功能:

function array_echo($array , $indent = 0) 
{ 

    foreach($array as $k=>$v) 
    { 
     echo "<br />"; 
     for($i=0; $i<$indent; $i++) 
      echo "&emsp;&emsp;"; 
     if(is_array($v)) 
     { 
      echo "[$k] => "; 
      array_echo($v, ($indent+1)); 
     } 
     else 
      echo "[$k] => [$v]"; 
    } 
} 
相關問題