2013-07-15 84 views
0

我嘗試從多維數組中回顯一個值,但不知何故我無法弄清楚。從多維數組回聲特定值PHP Basecamp

該數組的結構是如下:

待辦事項

  • 剩餘
    • ID
    • todolist_id
    • 位置
    • 內容
    • 完成
    • created_at
    • 的updated_at
    • comments_count
    • due_on
    • due_at
    • 創建者(陣列:ID,名稱,化身URL)
    • 受讓人(陣列:ID,類型,名稱)
  • 完成

我現在的問題是,我無法回顯/打印來自due_at和due_on(這是我需要的唯一2)的值。我發現這最可能是由2個數組(創建者,受讓人)在最後造成的。因爲每次我嘗試查看它在創建者部分之前停止的值,並且不顯示其他待辦事項,只是第一個。這裏是我用來呼應值的一段代碼:

foreach($todo_itemphp->todos as $key => $value) { 
     echo "<ul>"; 
     echo "<li>".$key. ":". "&nbsp". "</li>"; 
     foreach ($value as $key2 => $value2) { 
      echo "<ul>"; 
      echo "<li>".$key2. ":". "&nbsp". "</li>"; 
      foreach ($value2 as $key3 => $value3) { 
       echo "<ul>"; 
       echo "<li>".$key3. ":". "&nbsp". $value3."</li>"; 
       foreach ($value3 as $key4 => $value4) { 
        echo "<ul>"; 
        echo "<li>".$key4. ":". "&nbsp". $value4."</li>"; 
        echo "</ul>"; 
       } 
       echo "</ul>"; 
      } 
      echo "</ul>"; 
     } 
     echo "</ul>"; 
    } 

如果你想知道它是關於大本營,我試圖讓所有相關的項目信息要在屏幕上查看。如果有任何問題,或者對我的問題有點模糊,請讓我澄清一下,希望我給你們提供足夠的信息,看看我是否做得對。如果不是我做錯了什麼。

+0

您是否嘗試通過添加'IF'條件來檢查'due_at'和'due_on'數組的'$ value2',因爲您只需要這個值? – Yogesh

+0

我的理解是否正確?或者你想爲所有的數組元素創建'UL LI'? – Yogesh

+0

我只是將它們放入UL LI中以便自己清理它,將來我需要將值轉換爲日期並選擇最新日期,但這是以後需要考慮的問題。我現在想要實現的所有目標都是迴應due_at和due_on的值。 –

回答

1

您可以使用遞歸函數。

function print_array($array) { 
    echo "<ul>"; 
    foreach ($array as $key => $value) { 
     if (is_array($value)) { 
      print_array($value); 
     } else { 
      echo "<li>" .$key .' : ' .$value ."</li>"; 
     } 
    } 
    echo "</ul>"; 
} 
+0

感謝您的回覆,不幸的是,這並沒有訣竅。它沒有顯示任何東西。 –

+0

你需要調用函數:'print_array($ todo_itemphp-> todos);' –

+0

我試過這個,但現在沒有打印,當我替換print_array($ todo_itemphp-> todos);與print_array($ todo_itemphp-> creator);僅顯示第一個待辦事項項目的創建者的值。 –