Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php嵌套引号错误_Php_Nested_Quotes - Fatal编程技术网

php嵌套引号错误

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

我需要您的帮助来修复那些向我返回以下错误的引号:

分析错误:语法错误,意外的T_常量\u封装的\u字符串

这是我的密码:

$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。编辑答案作为您的建议。