这让我抓狂,我知道这是一个简单的错误,但我添加或遗漏了一些引用
echo "<option ". ($data['language'] == "" ? 'selected=selected>-- Select --</option>' : 'value=$data['language'] selected=selected'");
答案 0 :(得分:3)
使用
echo "<option ". ($data['language'] == "" ? "selected=selected>-- Select --</option>" : "value=".$data['language']." selected=selected");
引用/内联变量包含的使用不一致(因此存在'应该存在的位置')
答案 1 :(得分:1)
您不能在单引号中进行变量插值,尤其是在使用单引号作为分隔符时。
echo "<option ". ($data['language'] == "" ? 'selected=selected>-- Select --</option>' : 'value=' . $data['language'] . ' selected=selected'");
答案 2 :(得分:1)
变化:
'value=$data['language'] selected=selected'
分为:
'value="'.$data['language'].'" selected=selected'
答案 3 :(得分:0)
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>';
}
答案 4 :(得分:0)
echo "<option ". ($data['language'] == "" ? "selected=selected>-- Select --</option>" : "value='".$data['language'] . "' selected=selected");