2013-12-13 67 views
0

我使用循环来处理我为我的产品创建的问题。php标题while循环问题

我需要在每4个问题后添加标题。也许用桌子?我不确定什么是最快的做法。

4标题是:

  • 营销
  • 产品
  • 可用性
  • 客服

回答

3
if($i % 4 == 0){ 
    //Echo your heading 
} 

http://php.net/manual/en/language.operators.arithmetic.php

See:Modulus

编辑:现在您已经添加了4个不同的标题 - 最好的解决方案是使问题数组为多维。

$questions = [ 
     ['Marketing'] = [ 
      "Question 1 - This is question 1", 
      "Question 2 - This is question 2", 
      //etc 
     ], 
     //etc 
    ]; 

然后循环浏览标题,然后循环浏览其中的问题。该解决方案还允许您为每个部分提供不同数量的问题。

另外,使用foreach。它只是更干净。

$questionNumber = 1; 
foreach($questions AS $heading => $sectionQuestions){ 
{ 
    echo "<h1>{$heading}</h1>"; 
    foreach(sectionQuestions AS $question) 
    { 
     echo $question; 
     for ($radio = 6; $radio > 0; $radio--) //Weird, but whatever. 
     { 
      echo '<input type="radio" name="question[' . $questionNumber . ']" value="' . $radio . '">' . $radio; 
     } 
     echo '<br>'; 
    } 
    $questionNumber++; 
} 
+0

嗨,我不断收到此错误:解析错误:语法错误,意想不到的 '[' 继承人我的代码 \t \t $问题= [ [ '营销'] = [ “问题1 - 这是问题1" , “问题2 - 这是问题2”, “问题3 - 这是问题3”, “问题4 - 这是问题4”, ], [ '广告'] = [ “问题5 - 这是问题5“, ”问题6 - 这是问题6“, ”问题7 - 这是问题7“, ”问题8 - 这是问题8“, ]; – user3018797

+0

您可能使用的是旧版本的PHP,它不支持新的数组语法。 – Jessica

+0

有什么替代方法吗? – user3018797

0
for ($i = 0; $i < count($questions); $i++){ 
    if($i%4==0 && $i!=0){ 
     echo '<h2>This is heading</h2>'; 
    } 
    echo $questions[$i] . '<br>'; 

    for ($radio = 6; $radio > 0; $radio--) 
    { 
     echo '<input type="radio" name="question[' . $i . ']" value="' . $radio . '">' . $radio; 
    } 
    echo '<br>'; 
}