2013-12-13 100 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>'; 
}