php - 在 PHP 中循环遍历数组

标签 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($section as $k=>$section)
{
   echo "section $k";
   foreach($section as $i=>$question)
   {
     echo "question $i ".$question['assessment_id']; //more fields available here
   }
}

关于php - 在 PHP 中循环遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477943/

相关文章:

javascript - 为什么我的表格显示两次?

php - 将Mysql时间戳转换为发布后的时间

php - 正则表达式 mysql 函数

php - 如何在WordPress的wp-db文件中设置mysql_query ('set Names utf8')

PHP/Symfony2 表单复选框字段

用于生成具有给定名称和大小的随机数据的文件的 PHP 脚本?

php - 将具有 GMT 的字符串转换为 DateTime 格式 - php

php - 使用 if 和 else 从数据库中查找并显示某些字符串

php 使用 system()/shell_exec()/exec() 运行终端应用程序,但只显示一半的输出

php - 从 hasMany 关系中获取所有对象并分页