1

我有一个变量,我将其设置为 HTML 标记(下拉菜单):

$weapon_secondary = '<select name="weapon" class="dropdown">
<option>Option 1</option>
<option>Option 2</option>
</select>'

运行我的 PHP 文件给了我

解析错误:语法错误,第 437 行 C:\web\submit_build.php 中的意外“武器”(T_STRING)

一旦我转义双引号,解析器就可以正常工作。我认为单引号中的字符串是“原样”的?这段代码工作得很好:

$weapon_secondary = '<select name=\"weapon\" class=\"dropdown\">
<option>Option 1</option>
<option>Option 2</option>
</select>'

为什么我必须在单引号中转义双引号?

4

3 回答 3

0

You shouldn't, there must be some misconfiguration going on here. Make sure that Magic Quotes are disabled in your php.ini file.

于 2013-08-01T21:10:58.743 回答
0

看起来您;在变量赋值的末尾缺少分号。

它应该是:

$weapon_secondary = '<select name="weapon" class="dropdown">
<option>Option 1</option>
<option>Option 2</option>
</select>';

作为替代方案,您可以使用heredoc来声明一个变量并避免这种引用练习:

$weapon_secondary <<< EOF
<select name="weapon" class="dropdown">
<option>Option 1</option>
<option>Option 2</option>
</select>
EOF;
于 2013-08-01T21:07:56.250 回答
0

您的错误必须在其他地方。

查看工作示例: http: //phpfiddle.org/main/code/m6g-25w

于 2013-08-01T21:19:56.257 回答