2010-04-29 3 views
0

echo 문 안에 if 문을 넣으려고했지만이 구문 분석 오류가 발생했습니다. 그렇게 할 수 있습니까? 대신에 heredoc을 사용해야합니까?구문 분석 오류 : ..에서 'T_STRING'또는 'T_VARIABLE'또는 'T_NUM_STRING'이 (가) 필요합니까?

echo "<input name='main_branch' type='radio' value='1' <?php if($restaurant['main_branch'] == 1) { echo "checked"; } ?> />Yes 
<input name='main_branch' type='radio' value='0' <?php if($restaurant['main_branch'] == 0) { echo " checked"; } ?> />No"; 

답변

2

. 외부 변수를 설정하고 echo "<input... $checked>";과 같이 포함 시키거나 <?php 태그를 사용해야합니다.

+0

고맙습니다 webdestroya – user306440

+0

아무 문제도, 도와 드리겠습니다 –

0

당신은 아마 다음과 같이 어쨌든 가독성을 위해 무언가를 분리하려면 : 당신은 echo 문 안쪽에 <?php .. ?>을 넣을 수 없습니다

<?php 

    echo "<input name='main_branch' type='radio' value='1' "; 

    if($restaurant['main_branch'] == 1) { echo "checked"; } 

    echo " />Yes" 
     ."<input name='main_branch' type='radio' value='0' "; 

    if($restaurant['main_branch'] == 0) { echo " checked"; } 

    echo " />No"; 

?> 
+0

그리고 PHP를 작성한 이후로 꽤 오래되었지만 결코 heredoc을 좋아하지 않았습니다. – jaltiere

+0

귀하의 회신에 감사드립니다 jaitiere :) – user306440

0

webdestroya는 문제를 지적하고 jaltiere는 한 가지 해결책을 제시했으며 PHP의 임베디드 기능을 사용하여 다른 솔루션을 제공하고자합니다.

<input name="main_branch" 
     type="radio" 
     value="1" 
     <?php if ($restaurant['main_branch'] == 1): ?> 
      checked="checked" 
     <?php endif; ?> 
/> Yes 

<input name="main_branch" 
     type="radio" 
     value="0" 
     <?php if ($restaurant['main_branch'] == 0): ?> 
      checked="checked" 
     <?php endif; ?> 
/> No