运行第二个循环时取消设置数据

时间:2012-05-27 13:51:12

标签: php mysql foreach

我想创建简单的民意调查系统。我有两个问题和两个答案。第一个问题有两个答案,但第二个问题没有任何答案。从某种意义上说,我想得到:

First question?
Answer1
Answer2

Second question?

但我得到了

First question?
Answer1
Answer2

Second question?
Answer1 
Answer2

第二个问题不需要有Answer1和Answer2(与第一个问题答案相同但我在mysql中有两个答案)。

我的foreach循环..我怎么需要改变我的循环?

foreach($sorular->soruCek($_GET["kategori"]) as $data) // Questions
{
    echo $data["soru"] . "<br/>";
    foreach($sorular->cevapCek($data["id"]) as $cevaplar) // Answers
    {
        echo $cevaplar["cevap"] . "<br/>"; // This needn't print data to below of Second Question
    }
}

2 个答案:

答案 0 :(得分:1)

foreach($sorular->soruCek($_GET["kategori"]) as $data)
{
    $inner_data = $sorular->cevapCek($data["id"]);

    if ($inner_data) {
        echo $data["soru"] . "<br/>";

        foreach($inner_data as $cevaplar)
        {
            echo $cevaplar["cevap"] . "<br/>";
        }
    }
}

你必须首先获取内部循环中的数据,确保它在打印之前有值 - 我假设是 - 标题?

答案 1 :(得分:0)

要取消设置变量,可以使用

unset($yourvariable);

使用unset()会破坏指定的变量。