我需要您的帮助来修复那些向我返回错误的报价,例如:
解析错误:语法错误,意外的 T_CONSTANT_ENCAPSED_STRING
这是我的代码:
$HTML_footer.='<option value="general" '($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']) ? "selected='selected'" : '' '>general</option> ';
请使用以下代码
$value = "";
if($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']){
$value = "selected='selected'";
}
$HTML_footer.="<option value='general' $value>general</option> ";
T_CONSTANT_ENCAPSED_STRING 解析器标记错误是由于意外引用或缺少引用而发生的。首先检查条件是否满足,然后以这种方式选择它:
if ( $sr && (!$cf['form_ok']) && ($cf['posted_form_data']['enquiry' == 'Ventes'])) {
$HTML_footer = "<option value='general' selected='selected'>general</option> ";
}
我希望它会有所帮助!
你错过了你试图连接在一起的各种字符串之间的点。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> ';
仍然没有出色的可读性,但比以前好多了。