我不想问这么简单的问题,但我完全难过了。我正在尝试输出
<input type='radio' name='state' value='VALUE' /> OTHERVALUE
这很荒谬,但有些东西正在破碎。我的发言,
echo '<input type="radio" name="state" value="' . $abbr . '" /> ' . $state;
导致错误停止输出。我在调试时也尝试了以下变化,所有这些看起来都应该对我有用:
echo "<input type='radio' name='state' value='";
echo '<input type=\'radio\' name=\'state\' value=\'';
echo "<input type=\"radio\" name=\"state\" value=\"";
在每种情况下,在结束单/双引号之前删除最后一个',“,\'或\”修复了问题。我可以解决这个问题,但我现在花了20多分钟来调试这个。是什么造成的?我对'和'工作方式的了解是否有差距?
答案 0 :(得分:1)
缺少结束双引号和单引号。
echo '<input type="radio" name="state" value=""'
echo "<input type='radio' name='state' value=''";
echo '<input type=\'radio\' name=\'state\' value=\'\'';
echo "<input type=\"radio\" name=\"state\" value=\"\"";
如果你想要一个值:
echo '<input type="radio" name="state" value="' . $value . '">';
答案 1 :(得分:1)
如果您输出的是不完整的标签,浏览器会贪图抓取所有内容,将其视为属性,直到最终找到>
。
将来,使用View Source查看脚本的原始输出,您将更清楚地看到这些内容。
答案 2 :(得分:0)
尝试echo "<input type='radio' name='state' value='$variable'";
或
尝试echo '<input type="radio" name="state" value="' . $variable . '"';
如果您以双引号开头(即echo " hello to 'this' $variable ";
)
您可以在这些引号中包含变量,并且可以包含单引号
如果您从单引号开始,则不能包含内联变量,但可以包含双引号:echo 'hello to "this" $variable';
将输出hello to "this" $variable
。
看起来你知道这一点,但你可能只是忘记在这里和那里关闭引用。
echo '<input type="radio" name="state" value="'
将输出<input type="radio" name="state" value="
注意缺少的关闭引用,并关闭标记!