2014-04-02 70 views
-1

我尝试一个for循环或任何其他循环(我不知道如何在php中执行此操作),这将帮助我声明与用户定义的许多变量。这些变量来自textareas,它们的名字是:answer11,answer12,answer13(当然是问题1),然后我有答案21,答案22,答案23,答案24等等,就像用户定义的问题一样多。Php for循环声明变量的名称中包含两个灵活数字

for($j=1; $j<$size; $j++) { 

    if($_POST['question'][$j] != "") 
    { 
    //these can be unlimited. This is only for question1 as you can see, but how to add for more question 
    $answer11 = $_POST['answer11']; 
    $answer12 = $_POST['answer12']; 
    $answer13 = $_POST['answer13']; 

    $answer[$j] = '<input type="radio" name="ans11">'.$answer11.'<br/>'; 
    $answer[$j] .= '<input type="radio" name="ans12">'.$answer12.'<br/>'; 
    $answer[$j] .= '<input type="radio" name="ans13">'.$answer13.'<br/>'; 

    $print .= $j.') '.$question[$j].'<br/>'.$answer[$j].'<br/><br/>'; 
    } 

} 

循环应该是什么样子?我相信这很容易,但我看不到解决方案:(

+0

您可以通过使用变量而不是数字也许尝试在名称属性例如答案附加$ J $ķ但在此之前定义循环 – mpavlovic89

+3

为什么各个变量?使用数组这是一个典型的新手陷阱。!但是你真的想在这里使用数组,事实上,'$ _POST'已经是一个数组了! – deceze

+0

直到最近我还在使用这种方法,开始使用数组,并且它更好的是imo。 – LefterisL

回答

0

你可能应该使用一个数组来存储答案,我不确定这些答案是什么,但你可以做这样的事情,并适应诉讼您需要:

for($j=1; $j<$size; $j++) 
{ 
    if($_POST['question'][$j] != "") 
    { 
     $post_answer = $_POST['answer']; 

     foreach ($post_answer as $k => $ans) 
     { 
      $answer .= '<input type="radio" name="answer['.$k.']">'.$ans.'<br/>'; 
     } 

     $print .= $j.') '.$question[$j].'<br/>'.$answer.'<br/><br/>'; 
    } 
}