echo语句中的尾随引号断开输出

时间:2013-03-02 00:11:54

标签: php echo

我不想问这么简单的问题,但我完全难过了。我正在尝试输出

<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多分钟来调试这个。是什么造成的?我对'和'工作方式的了解是否有差距?

3 个答案:

答案 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="注意缺少的关闭引用,并关闭标记!