echo '<option value='+$index+'>'+$county[$index];
這是PHP代碼。它不會輸出我想要的內容。任何想法?
echo '<option value='+$index+'>'+$county[$index];
這是PHP代碼。它不會輸出我想要的內容。任何想法?
在PHP連接文本使用.
操作不是+
echo '<option value='.$index.'>'.$county[$index];
你可以閱讀更多關於.
和.=
運營商,如果你想:String Operators
試試這個:
echo '<option value=' . $index . '>' . $county[$index];
你甚至可以這樣做:
echo "<option value={$index}>{$county[$index]}";
二者必選其一:
echo '<option value=' . $index+'>' . $county[$index];
或
echo "<option value='$index'>$county[$index]";
echo '<option value="', $index, '">', $country[$index];
echo "<option value='$index'>$country[$index]";
printf('<option value="%s">%s', $index, $country[$index]);
還有其他的,其他方式(sprintf和呼應,用於一個)完成同樣的事情。
請選擇。
就個人而言,我會使用第一個示例,因爲echo需要多個參數。
隨着echo
聲明與PHP中的其他內容不同,您還可以使用,
進行並置。據說它比.
echo '<option value=' , $index , '>' , $county[$index];
逗號(,)不連接。回聲是一種語言結構,這就是爲什麼你不(通常)使用括號。這將類似於使用:echo($ first,$ second,$ third)。如果你想傳遞多個參數來回顯,你必須不使用括號。 – 2009-12-26 07:37:18
沒錯,我想我應該更具體一點,因爲每個部分都是真正的回聲,而不是回聲,實際上將聲明的每個部分連接到前一部分的結尾。但是,它確實實現了同樣的效果並且速度更快 – munch 2009-12-26 08:07:39
除了連接符是.
快... PHP是一種模板語言。使用它,不要戰鬥!避免在字符串中處理HTML;讓PHP自己做到這一點。
而當您輸出任意文本時,請記住要HTML轉義它,以避免跨站點腳本問題。例如:
<?php
function h($s) {
echo htmlspecialchars($s, ENT_QUOTES);
}
?>
...
<select name="county">
<?php for ($i= 0; $i<count($county); $i++) { ?>
<option value="<?php h($i); ?>">
<?php h($county[$i]); ?>
</option>
<?php } ?>
</select>
如果您必須提出這個基本問題,您不應該在StackOverflow上,請閱讀任何PHP教程或網站的第一章。 – TravisO 2009-12-26 08:22:25
特拉維斯:也許你應該回答他,幷包含適當的PHP教程和網站的鏈接。 – 2009-12-26 08:30:25