PHP-使用三元运算符时出现语法错误

PHP-使用三元运算符时出现语法错误,php,Php,需要将所选属性添加到匹配条件中。我将$fetch\u state\u db作为函数参数传递,它将按预期获得。请让我知道语法错误在哪里 遇到未捕获的异常 类型:ParseError 消息:语法错误,意外的“”值=“”(T\u常量\u封装的\u字符串) $output='Select State'; foreach($query->result()作为$row) { $output.=''.$row->region'; } 返回$output; 第二部分中的单引号(')太多 试着用双引号而不是单引号

需要将所选属性添加到匹配条件中。我将$fetch\u state\u db作为函数参数传递,它将按预期获得。请让我知道语法错误在哪里

遇到未捕获的异常 类型:ParseError 消息:语法错误,意外的“”值=“”(T\u常量\u封装的\u字符串)

$output='Select State';
foreach($query->result()作为$row)
{
$output.=''.$row->region';
}
返回$output;

第二部分中的单引号(')太多

试着用双引号而不是单引号。在我看来,我觉得它更可读一些

foreach($query->result()作为$row)
{
$output.=“$row->region”;
}
返回$output;
代码应为:

$output .= '<option '. ($row->id==$fetch_state_db)?'selected="selected"':''. ' value="'.$row->id.'">'.$row->region.'</option>';
$output.=''.$row->region';

如果不尝试将所有内容压缩到一行中,则更易于阅读和维护。如果使用
,则变量将自动展开,并使用
引号包装html元素属性

$output = '<option value="">Select State</option>';
foreach($query->result() as $row) {
    $sel = $row->id==$fetch_state_db ? "selected='selected'" : '';
    $output .= "<option $sel value='{$row->id}'>{$row->region}</option>";
}
$output='Select State';
foreach($query->result()作为$row){
$sel=$row->id=$fetch\u state\u db?“selected='selected'”:“;
$output.=“{$row->region}”;
}

这是连接的问题。使用以下命令

output .= '<option '.($row->id==$fetch_state_db ?'selected="selected"':''' ).' value="'.$row->id.'">'.$row->region.'</option>';
  }
output.=“id.”“>”.$row->region;
}
对不起,我正在使用手机。

更容易阅读

    $output = '<option value="">Select State</option>';
    foreach($query->result() as $row)
    {
        $selected =  $row->id== $fetch_state_db ? 'selected="selected"':"" ;
        $output .= '<option '.$selected.' value="'.$row->id.'">'.$row->region.'</option>';
    }
    return $output;
$output='Select State';
foreach($query->result()作为$row)
{
$selected=$row->id=$fetch\u state\u db?'selected=“selected”:“”;
$output.=''.$row->region';
}
返回$output;

在三元运算符之前,您错过了
。我们有时会发现,在使用三元内部字符串时,您还需要将整个内容用括号括起来,感谢所有的响应。这仍然不起作用,对吗?由于括号之前缺少连接,您也在错误的位置关闭了它,正如您现在所说的只有在没有选择的情况下才显示值。这很尴尬。对我来说也是lol。我再次修复了它,感谢您的输入。添加点后得到相同的错误。在三值运算器之后缺少另一个
    $output = '<option value="">Select State</option>';
    foreach($query->result() as $row)
    {
        $selected =  $row->id== $fetch_state_db ? 'selected="selected"':"" ;
        $output .= '<option '.$selected.' value="'.$row->id.'">'.$row->region.'</option>';
    }
    return $output;