這是推動我瘋了,我知道它的一個簡單的錯誤,但無論是我加或省掉了一個引號東西缺失報價某處T_STRING錯誤
echo "<option ". ($data['language'] == "" ? 'selected=selected>-- Select --</option>' : 'value=$data['language'] selected=selected'");
這是推動我瘋了,我知道它的一個簡單的錯誤,但無論是我加或省掉了一個引號東西缺失報價某處T_STRING錯誤
echo "<option ". ($data['language'] == "" ? 'selected=selected>-- Select --</option>' : 'value=$data['language'] selected=selected'");
使用
echo "<option ". ($data['language'] == "" ? "selected=selected>-- Select --</option>" : "value=".$data['language']." selected=selected");
時出現不一致的使用引號/在線變量列入(所以是一個'哪裏應該有一個「)
你不能用單引號做變量插值,特別是當使用單引號作爲分隔符時。
echo "<option ". ($data['language'] == "" ? 'selected=selected>-- Select --</option>' : 'value=' . $data['language'] . ' selected=selected'");
變化:
'value=$data['language'] selected=selected'
分爲:
'value="'.$data['language'].'" selected=selected'
echo "<option "
. ($data['language'] == ""
? 'selected=selected>-- Select --</option>' :
'value=$data['language'] selected=selected'" //< This line
);
你可以使用相同的報價從$ data數組選擇你看到那麼你需要做的:
echo "<option " . ($data['language'] == "") ? 'selected=selected>-- Select --</option>' : "value=\"" . $data['language'] . "\" \"selected=selected\"");
一個更好的解決辦法是:
if($data['language'] == "")
{
echo '<option selected=selected>-- Select --</option>';
}else
{
echo '<option selected=selected value="' . $data['language'] . '">-- Select --</option>';
}
echo "<option ". ($data['language'] == "" ? "selected=selected>-- Select --</option>" : "value='".$data['language'] . "' selected=selected");
你需要轉義嵌入的雙引號(「)嗎?我會這麼想,但我不知道PHP。 – 2010-12-06 09:23:31
整個陳述沒有意義。首先,一行135字符反對大多數編碼慣例。在第一個表達式的周圍還缺少一個右括號,並且第三個表達式中的插值也被打破。但即使您修復了這些內容並且有語言,您的選項標籤也不完整。除非你使用XHTML中的HTML湯之一,否則你的屬性周圍也缺少引號。 – Gordon 2010-12-06 09:41:54