簡體   English   中英

在PHP中循環遍歷數組

[英]Loop through array in PHP

我有一個我創建的數組,由部分和問題組成。 如何遍歷各個部分並顯示每個部分的嵌套問題。

這是我創建數組的方式

$db = db_open();
$query = "SELECT * FROM assessment_selections WHERE assessment_id = '".$annual_assessment["id"]."' AND selection = '1' ORDER BY timestamp ASC";
$result = db_query($db, $query);
$result = db_fetch_all($result);
if (!is_array)
    $result = array();
foreach($result as $row) {
    $section[$row['section_id']][$row['question_id']] = $row;
}

這是陣列

Array
(
    [1] => Array // Section 1
        (
            [1] => Array // Question 1
                (
                    [assessment_selection_id] => 70
                    [assessment_id] => 32
                    [section_id] => 1
                    [question_id] => 1
                    [selection] => 1
                    [timestamp] => 1368172762
                )

        )

    [2] => Array // Section 2
        (
            [3] => Array // Question 3
                (
                    [assessment_selection_id] => 68
                    [assessment_id] => 32
                    [section_id] => 2
                    [question_id] => 3
                    [selection] => 1
                    [timestamp] => 1368166250
                )

        )

    [3] => Array // Section 3
        (
            [4] => Array // Question 4
                (
                    [assessment_selection_id] => 69
                    [assessment_id] => 32
                    [section_id] => 3
                    [question_id] => 4
                    [selection] => 1
                    [timestamp] => 1368172690
                )

        )

    [4] => Array // Section 4
        (
            [5] => Array // Question 5
                (
                    [assessment_selection_id] => 71
                    [assessment_id] => 32
                    [section_id] => 4
                    [question_id] => 5
                    [selection] => 1
                    [timestamp] => 1368174153
                )

        )

)



預期結果 (我希望如何在PHP中回顯它們)

第1節

  • 問題1
  • 問題4
  • 問題7

第2節

  • 問題2
  • 問題9

第3節

  • 問題3

再次使用foreach

foreach ( $data as $n => $sect) {
    echo "Section $n<br>";
    foreach ($sect as $q => $qdata) {
        echo " -> Question $q<br>";
        // ... do something
    }
}

你應該使用這個循環。

foreach($section as $k=>$section)
{
   echo "section $k";
   foreach($section as $i=>$question)
   {
     echo "question $i ".$question['assessment_id']; //more fields available here
   }
}
foreach($section as $key => $value) {
    echo "Section ".$key;
    foreach($value as $key => $value) {
        echo "Question ".$key;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM