Ayrıştırma hatası: `T_STRING 'veya` T_VARIABLE' veya `in T_NUM_STRING 'bekliyor ..?

3 Cevap php

Ben koymak için çalıştım bir yankı iç deyim ama bu ayrıştırma hatası geldi ise, bunu yapmak mümkün değil mi? Bunun yerine yorumlu metin kullanmalıyım?

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";

3 Cevap

Sen <?php .. ?> bir echo deyimi içine koyamazsınız. Sen dışındaki bir değişkeni ayarlamak için ya da gerek ve echo "<input... $checked>"; gibi veya <?php etiketlerini kullanabilirsiniz bunu dahil.

Muhtemelen, yine de okunabilirliği için ayırmak için böyle bir şey istiyorum:

<?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";

?>

webdestroya PHP'nin gömülü yeteneklerini kullanarak başka çözüm vermek istiyorum, bir çözüm jaltiere verdi, sorunu işaret etti.

<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