从多维数组PHP Basecamp中回显特定值

时间:2013-07-15 12:02:29

标签: php basecamp

我尝试从多维数组中回显一个值,但不知怎的,我无法弄明白。

该数组的结构如下:

待办事项

  
      
  • 剩余   
        
    • ID
    •   
    • todolist_id
    •   
    • 位置
    •   
    • 含量
    •   
    • 完成
    •   
    • created_at
    •   
    • 的updated_at
    •   
    • comments_count
    •   
    • due_on
    •   
    • due_at
    •   
    • creator(数组包含:id,name,avatar url)
    •   
    • 受让人(数组:id,type,name)
    •   
  •   
  • 完成
  •   

我目前的问题是,我无法回复/打印due_at和due_on中的值(这是我需要的唯一值)。正如我所知,这很可能是由最后的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>";   
    }

如果您想知道它与Basecamp有关,我正试图让所有相关的项目信息在屏幕上显示。如果有任何问题,或者我对我的问题有点模糊,请让我澄清一下,我希望我能为你们提供足够的信息,看看我是否做得对。如果不是我做错了。

1 个答案:

答案 0 :(得分: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>";
}