php嵌套引号错误
我需要您的帮助来修复那些向我返回以下错误的引号: 分析错误:语法错误,意外的T_常量\u封装的\u字符串 这是我的密码:php嵌套引号错误,php,nested,quotes,Php,Nested,Quotes,我需要您的帮助来修复那些向我返回以下错误的引号: 分析错误:语法错误,意外的T_常量\u封装的\u字符串 这是我的密码: $HTML_footer.='<option value="general" '($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']) ? "selected='selected'" : '' '>general</option&g
$HTML_footer.='<option value="general" '($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']) ? "selected='selected'" : '' '>general</option> ';
$HTML_footer.='general';
T_常量_ENCAPSED_字符串解析器令牌错误是由于意外的引号或缺少引号而发生的。首先检查条件是否满足,然后按以下方式选择:
if ( $sr && (!$cf['form_ok']) && ($cf['posted_form_data']['enquiry' == 'Ventes'])) {
$HTML_footer = "<option value='general' selected='selected'>general</option> ";
}
if($sr&&(!$cf['form_ok'])和($cf['posted_form_data']['enquiry'='Ventes'])){
$HTML\u footer=“常规”;
}
我希望这会有帮助 请使用以下代码
$value = "";
if($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']){
$value = "selected='selected'";
}
$HTML_footer.="<option value='general' $value>general</option> ";
$value=”“;
如果($sr&&!$cf['form_ok']&&$cf['posted_form_data']['Inquiry'='Ventes']){
$value=“selected='selected'”;
}
$HTML_footer.=“常规”;
您正在尝试连接的各个字符串之间缺少点。PHP使用点作为运算符来连接字符串
此外,三元运算符需要用括号括起来,以防止歧义
通过这些更正,您的代码行现在如下所示:
$HTML_footer.='<option value="general" ' . (($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']) ? "selected='selected'" : '') . '>general</option> ';
$HTML_footer.='general';
但有一个建议:尝试将三元运算符从字符串中移出,放入单独的代码行中。这样会更具可读性:
$isSelected = ($sr && ! $cf['form_ok'] && $cf['posted_form_data']['enquiry'== 'Ventes']);
$selected = $isSelected ? "selected='selected'" : '';
$HTML_footer.='<option value="general" '.$selected.'>general</option> ';
$isSelected=($sr&&!$cf['form\u ok']&&$cf['posted\u form\u data']['inquiry'='Ventes']);
$selected=$isSelected?“selected='selected'”:“;
$HTML_footer.='general';
仍然不是很好的可读性,但比以前好多了。你怎么知道错误是针对这一行的?@Akram-可能是因为这一行无效,PHPi知道错误来自这一行,因为如果有:解析错误:语法错误,第855行的D:\inetpub\wwwroot\starter\2.0\web\u inc\php\web.php中意外的T\u常量\u封装了\u字符串您忘记了连接运算符:
或此处的“点:general”($sr
我没有投反对票(也不知道为什么投反对票),但三元数不必用括号括起来,尤其是不必用括号括起来。$foo='bar.$bar==true?!':'?。
;
完全有效:[expression]?[expression]:[expression]
是解析器所寻找的,这些部分无需brackets@EliasVanOotegem-我最近有过几次“直接否决票”。当人们否决票时令人失望,但不愿意解释。关于模糊性,据我所知,最后的'>general'
部分存在模糊性,即它是主字符串的一部分,或者是三元错误条件的一部分:“'>.gen..”
是一个表达式,那么它是否都是三元的一部分呢?但在某种程度上,解析器是否有问题是无关紧要的,因为代码也需要为将来处理它的人可读。Readability=maint可维护性。我认为这是一个打字错误,您添加了一个额外的“)”谢谢Sandeep。编辑答案作为您的建议。