2014-11-25 7 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의 각 문자열 행은';'로 끝나지 않습니다. 또한, machineaddict

+1

또한 구문 강조를 잘 살펴보십시오. 이 문자열들 모두가 적절한 문자열은 아닙니다. 셔플을 시작하기 전에 코드 자체가 작동하는지 확인하십시오. – Erik

+0

또한 tttpapi

답변

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입니다 (문자열에 텍스트를 추가)