0

多次元配列から値をエコーし​​ようとしましたが、どういうわけかわかりません。

この配列の構造は次のとおりです。

トドス

  • 残り
    • ID
    • todolist_id
    • 位置
    • コンテンツ
    • 完了
    • created_at
    • updated_at
    • コメント数
    • due_on
    • due_at
    • 作成者 (ID、名前、アバター URL の配列)
    • 担当者 (ID、タイプ、名前の配列)
  • 完了

現時点での私の問題は、due_at と due_on (必要なのは 2 つだけ) の値をエコー/出力できないことです。私が理解したように、これは最後の 2 つの配列 (作成者、譲受人) が原因である可能性が最も高いです。値を表示しようとするたびに、作成者部分の前で停止し、他の todo は表示されず、最初の todo のみが表示されます。値をエコーするために使用したコードは次のとおりです。

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 に関することを知りたい場合は、関連するすべてのプロジェクト情報を画面に表示できるようにしています。質問がある場合、または質問が少し曖昧である場合は、明確にするように依頼してください。私が正しく行っているかどうかを確認するのに十分な情報を提供したことを願っています. そして、私が間違っていることでなければ。

4

1 に答える 1

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>";
}
于 2013-07-15T12:16:43.600 に答える