[英]Why do I have to escape double quotes in my string surrounded by single quotes?
我有一个设置为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>'
为什么我必须在单引号中转义双引号?
看起来你缺少分号;
在变量分配的末尾。
它应该是:
$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;
您的错误必须在其他地方。
参见工作示例: http : //phpfiddle.org/main/code/m6g-25w
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.