PHP嵌套报价错误
我需要你的帮助来解决那些谁正在返回我的错误,这样的行情:PHP嵌套报价错误
Parse error: syntax error, unexpected 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> ";
I认为这是一个错字,你增加了一个额外的')' – sandip 2013-02-14 11:46:59
谢谢Sandeep。根据你的建议编辑答案。 – 2013-02-14 11:48:04
由于发生的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> ';
还没出色的可读性,但很多比它更好了。
我没有投票(不知道为什么这也是低票),但三元的needn '$'='bar'。$ bar === true?'!':'?'。'
';'完全有效:'[expression ]?[expression]:[expression]'是解析器正在查找的内容,这些部分可以不区分括号 –
2013-02-14 11:42:29
@EliasVanOotegem - 我最近有几次'开车低调'。人们失望时会失望,但不愿意解释。重新说明一下,就我而言,关于它是主要字符串的一部分还是三元的假条件的一部分,末尾部分存在不明确性:'''。' > gen ..“是一个表达式,它也是三元组的一部分吗?但是,解析器是否存在问题在某种程度上是不相关的,因为代码在将来也需要对其进行读取。可读性=可维护性。 – SDC 2013-02-14 11:51:00
您是如何知道错误是针对此行的? – 2013-02-14 11:33:07
@Akram - 可能是因为该行无效PHP – 2013-02-14 11:34:03
我知道该错误来自此行,因为如果发生此情况:解析错误:语法错误,意外的T_CONSTANT_ENCAPSED_STRING在D:\ inetpub \ wwwroot \ starter \ 2.0 \ web \ _inc \ php \ web.php在线855 – 2013-02-14 11:36:16