我正在尝试在php echo语句中编写html代码,但我一直都在失败。
echo "<option value='$_GET['b']'>$_GET['b']</option>";
错误:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in .../web_info.php on line 11
我的意思是我何时应该使用“何时”?规则是什么?这太令人困惑了。
答案 0 :(得分:2)
试试这个:
echo "<option value='{$_GET['b']}'>{$_GET['b']}</option>";
问题在于引号和括号。有时您需要将变量包装在花括号中,否则PHP解析器不知道何时启动和停止变量。它与字符串的其余部分混在一起。
答案 1 :(得分:2)
用花括号包裹变量:
echo "<option value='{$_GET['b']}'>{$_GET['b']}</option>";
或者,使用sprintf()
:
echo sprintf("<option value='%s'>%s</option>", $_GET['b'], $_GET['b']);
答案 2 :(得分:0)
echo("<option value='" . $_GET['b'] . "'>" .$_GET['b'] . "</option>");
答案 3 :(得分:0)
您只需编写此内容(DEMO)
即可echo "<option value='$_GET[b]'>$_GET[b]</option>";
或者这个(DEMO)
echo "<option value='" . $_GET['b'] . "'>" . $_GET['b'] . "</option>";
了解更多on manual。
答案 4 :(得分:0)
echo "<option value='".$_GET['b']."'>".$_GET['b']."</option>";
问题是value属性中的单引号,你习惯了几次,解析器无法理解结束的位置。
答案 5 :(得分:0)
除了其他答案之外,一个鲜为人知的方法是使用逗号(因此PHP不需要进行任何连接):
echo '<option value="', $_GET['b'], '">', $_GET['b'], '</option>';
答案 6 :(得分:0)
printf("<option value=\"%s\">%s</option>", $_GET['b'], $_GET['b']);