将多个Foreach结果组合到一个变量字符串

时间:2013-05-10 11:12:26

标签: php loops foreach

我下面有多个foreach循环,我正在尝试在一个foreach中加入一组数据,在另一个foreach中加入另一组数据,所以我可以创建一个主变量来发布我的页面上的任何位置值。我认为我在下面设置它的方式可行,但事实并非如此。有什么建议吗?

我现在设置的变量,我需要收集的数据是$variable

foreach($result as $row) {
    $sections[$row['section_id']][$row['question_id']] = $row;
}

foreach ($sections as $key => $section) {
    $question_keys = array_keys($section);
    foreach ($question_keys as $question_key) {
        if ($section[$question_key]["selection"] == 2) {

        } else {
            $variable .= '<div id="section-title">'.$section_details[$key].'</div>';
            foreach ($section as $key => $questions) {
                $variable .= '<div id="section-desc">
                <div>'.$question_details[$key]["title"].'</div>
                <div>'.$question_details[$key]["desc"].'</div>       
                <div>'.$selection_details[$questions["selection"]].'</div></div>';
            }
        }   
    }
}

分配的第一个$variable是一个部分。部分嵌套问题。可以有多个部分嵌套属于它的问题。分配的第二个$variable是嵌套在该部分下方的问题。问题可以是多重的。


数组输出 $section 级别

Array
(
[2] => Array
    (
        [assessment_selection_id] => 97
        [assessment_id] => 32
        [section_id] => 2
        [question_id] => 2
        [selection] => 1
        [timestamp] => 1368183565
    )

[1] => Array
    (
        [assessment_selection_id] => 98
        [assessment_id] => 32
        [section_id] => 2
        [question_id] => 1
        [selection] => 3
        [timestamp] => 1368183580
    )

)

1 个答案:

答案 0 :(得分:-1)

首先在foreach循环之外定义$ variable。 然后在你要分配给$变量的字符串结构中有问题,因为它包含一些html元素,可能是它们在浏览器上没有被看到。