在php echo语句中使用html

时间:2013-11-06 15:58:35

标签: php html

我正在尝试在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

我的意思是我何时应该使用“何时”?规则是什么?这太令人困惑了。

7 个答案:

答案 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']);