簡體   English   中英

在php echo語句中使用html

[英]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>");

簡單地,你可以寫這個( DEMO

echo "<option value='$_GET[b]'>$_GET[b]</option>";

或這個( DEMO

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

使用

[英]using <?php brackets inside an echo statement

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM