我有一个变量,我将其设置为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>'
为什么我必须在单引号中转义双引号?
您的错误一定在其他地方。
参见工作示例:http://phpfiddle.org/main/code/m6g-25w
变量赋值末尾似乎缺少分号;
。
应该是:
$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;
您不应该,这里一定有一些配置错误。请确保在php.ini文件中禁用了Magic Quotes。