2014-11-25 55 views
-2

我在混淆我的測驗中遇到問題。有沒有其他的方式來做到這一點?請耐心等待我剛剛接觸PHP。PHP混洗並在PHP內

這顯示了作爲錯誤:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

反正是有這個洗牌的?

<?php 

       $a="<tr><td >1. <input type='radio' name='answer' value='optiona' <?php if((strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'review')==0 ||strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'answered')==0)&& strcmp(htmlspecialchars_decode($r1['stdanswer'],ENT_QUOTES),'optiona')==0){echo 'checked';} ?>> <? php echo htmlspecialchars_decode($r['optiona'],ENT_QUOTES); ?></input></td></tr><br>" 
       $b="<tr><td >2. <input type='radio' name='answer' value='optionb' <?php if((strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'review')==0 ||strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'answered')==0)&& strcmp(htmlspecialchars_decode($r1['stdanswer'],ENT_QUOTES),'optionb')==0){echo 'checked';} ?>> <?php echo htmlspecialchars_decode($r['optionb'],ENT_QUOTES); ?></input></td></tr><br>" 
       $c="<tr><td >3. <input type='radio' name='answer' value='optionc' <?php if((strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'review')==0 ||strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'answered')==0)&& strcmp(htmlspecialchars_decode($r1['stdanswer'],ENT_QUOTES),'optionc')==0){echo 'checked';} ?>> <?php echo htmlspecialchars_decode($r['optionc'],ENT_QUOTES); ?></input></td></tr><br>" 
       $d="<tr><td >4. <input type='radio' name='answer' value='optiond' <?php if((strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'review')==0 ||strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'answered')==0)&& strcmp(htmlspecialchars_decode($r1['stdanswer'],ENT_QUOTES),'optiond')==0){echo 'checked';} ?>> <?php echo htmlspecialchars_decode($r['optiond'],ENT_QUOTES); ?></input></td></tr>" 

       $my_array = array($a,$b,$c,$d); 

       shuffle($my_array); 
       print_r($my_array[0].$my_array[1].$my_array[2].$my_array[3]); 
       ?> 
+0

你有一些錯誤存在。 $ a,$ b,$ c,$ d中的每個字符串行都不以';'結尾。另外,雙引號中不接受'<?php'。 – machineaddict 2014-11-25 08:52:54

+1

也請看看語法突出顯示。並非所有這些字符串都是正確的字符串。在開始洗牌之前,確保代碼本身有效。 – Erik 2014-11-25 08:53:52

+0

另外您還包括<?php inside <?php標記。 – tttpapi 2014-11-25 08:55:22

回答

0
$a="<tr><td >1. <input type='radio' name='answer' value='optiona' <?php if((strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'review')==0 ||strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'answered')==0)&& strcmp(htmlspecialchars_decode($r1['stdanswer'],ENT_QUOTES),'optiona')==0){echo 'checked';} ?>><? php echo htmlspecialchars_decode($r['optiona'],ENT_QUOTES); ?></input></td></tr><br>"; 

試試這個更改爲:

$a = "<tr><td >1. <input type='radio' name='answer' value='optiona' "; 

if((strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'review')==0 ||strcmp(htmlspecialchars_decode($r1['answered'],ENT_QUOTES),'answered')==0)&& strcmp(htmlspecialchars_decode($r1['stdanswer'],ENT_QUOTES),'optiona')==0){ 
    $a .= "'checked'"; 
} 

$a .= '>'.htmlspecialchars_decode($r['optiona'],ENT_QUOTES)."</input></td></tr><br>"; 

在PHP中,.concatenation operator(將文本添加到字符串)