2013-07-15 39 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);仅显示第一个待办事项项目的创建者的值。 –