我需要你的帮助来修复那些给我回复错误的报价:
解析错误:语法错误,意外T_CONSTANT_ENCAPSED_STRING
这是我的代码:
$HTML_footer.='<option value="general" '($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']) ? "selected='selected'" : '' '>general</option> ';
答案 0 :(得分:1)
请使用以下代码
$value = "";
if($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']){
$value = "selected='selected'";
}
$HTML_footer.="<option value='general' $value>general</option> ";
答案 1 :(得分:0)
T_CONSTANT_ENCAPSED_STRING解析器令牌错误是由于意外引用 - 或缺少引用。首先检查条件是否满足,然后以这种方式选择:
if ( $sr && (!$cf['form_ok']) && ($cf['posted_form_data']['enquiry' == 'Ventes'])) {
$HTML_footer = "<option value='general' selected='selected'>general</option> ";
}
我希望它会有所帮助!
答案 2 :(得分:-1)
你错过了你想要加入的各种字符串之间的点。 PHP使用点作为运算符来连接字符串。
此外,三元运算符需要括在括号中以防止其含糊不清。
通过这些更正,您的代码行现在看起来像这样:
$HTML_footer.='<option value="general" ' . (($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']) ? "selected='selected'" : '') . '>general</option> ';
但建议:尝试将三元运算符从字符串中移到单独的代码行中。它会更具可读性:
$isSelected = ($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']);
$selected = $isSelected ? "selected='selected'" : '';
$HTML_footer.='<option value="general" '.$selected.'>general</option> ';
仍然没有出色的可读性,但比它好很多。