在某处错过了引用T_String错误

时间:2010-12-06 09:20:01

标签: php

这让我抓狂,我知道这是一个简单的错误,但我添加或遗漏了一些引用

echo "<option ". ($data['language'] == "" ? 'selected=selected>-- Select --</option>' : 'value=$data['language'] selected=selected'");

5 个答案:

答案 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");