-1

PHP多次元配列でデータテーブルを出力しようとしていますが、foreachループに問題があり、1つのインデックスのみをループし、$docsのprint_r出力で次のインデックスを出力しません

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++;
}

しかし、それは何の出力も与えません。誰かが私にアドバイスをくれれば本当にありがたいです。

4

2 に答える 2

0

これを試して:

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

    echo $doc['title'];

}

繰り返されるそれぞれ$docは、ドキュメント属性の配列です。$keyループ内は、配列内で現在繰り返されている要素のforeach()現在インデックス付けされているキーです$docs

于 2012-08-12T07:09:46.280 に答える
0

キーを含む配列にdocs要素が1つしかない場合は、次のように実行できます。

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

(以外にdocs)複数のエントリが必要な場合は、次の手順を実行します。

foreach( $docs as $entry ) {
    foreach( $entry as $doc) {
        echo $doc['title'];
    }
}
于 2012-08-12T07:12:30.893 に答える