[英]Using html in a php echo statement
我正在嘗試在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
我的意思是我什么時候應該使用“,什么時候使用?”有什么規則?這是如此令人困惑。
嘗試這個:
echo "<option value='{$_GET['b']}'>{$_GET['b']}</option>";
問題出在引號和方括號。 有時您需要將變量用大括號括起來,否則PHP解析器將不知道何時啟動和停止變量。 它與字符串的其余部分混合在一起。
將變量用大括號括起來:
echo "<option value='{$_GET['b']}'>{$_GET['b']}</option>";
或者,使用sprintf()
:
echo sprintf("<option value='%s'>%s</option>", $_GET['b'], $_GET['b']);
echo("<option value='" . $_GET['b'] . "'>" .$_GET['b'] . "</option>");
echo "<option value='".$_GET['b']."'>".$_GET['b']."</option>";
問題在於value屬性中的單引號,您過去常常對它進行計數,而解析器無法理解結尾在哪里。
除了其他答案外,一種不太為人所知的方法是使用逗號(因此,PHP不必進行任何串聯):
echo '<option value="', $_GET['b'], '">', $_GET['b'], '</option>';
printf("<option value=\"%s\">%s</option>", $_GET['b'], $_GET['b']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.