php多维数组输出空白

时间:2012-08-12 07:03:04

标签: php arrays foreach

我正在尝试使用PHP多维数组输出数据表,但我有问题,foreach循环只循环一个索引,它不输出下一个索引,在我的print_r输出中为$ docs

Array
(
    [docs] => Array
        (
            [0] => Array
                (
                    [title] => Rew
                    [imgurl] => http://localhost/site/uploads/2012/07/print.jpg
                    [level_id] => Array
                        (
                            [0] => 2
                            [1] => 3
                        )

                )

            [1] => Array
                (
                    [title] => Second
                    [imgurl] => http://localhost/site/uploads/2012/07/type.jpg
                    [level_id] => Array
                        (
                            [0] => 1
                            [1] => 3
                        )

                )

        )

)

在我的php中

$i =0;
foreach ($docs as $doc){
   foreach($doc as $a_doc){
       foreach($doc as $a_doc){

        echo $doc[$i]['title'];         
     }

   }
   $i++;
}

但它没有给出任何结果,如果有人能给我一些建议,我真的很感激。

2 个答案:

答案 0 :(得分:0)

试试这个:

foreach($docs as $key => $doc){

    echo $doc['title'];

}

迭代的每个$doc都是一个doc属性数组。 $key循环中的foreach()$docs数组中当前迭代元素的当前索引键。

答案 1 :(得分:0)

如果包含docs键的数组只有一个元素,则可以执行以下操作:

foreach( $docs['docs'] as $doc ) {
    echo $doc['title'];
}

如果它应该有多个条目(docs除外),请转到:

foreach( $docs as $entry ) {
    foreach( $entry as $doc) {
        echo $doc['title'];
    }
}