php if then else语句语法错误某处[重复]

Posted

技术标签:

【中文标题】php if then else语句语法错误某处[重复]【英文标题】:php if then else statement syntax error somewhere [duplicate] 【发布时间】:2017-05-01 07:26:40 【问题描述】:

所以我在加载此文件时收到以下解析错误:

解析错误:语法错误,意外'' (T_ENCAPSED_AND_WHITESPACE), 期望标识符 (T_STRING) 或变量 (T_VARIABLE) 或数字 (T_NUM_STRING)

我已尽一切努力找出原因并将其缩小到

href=\"start.php?id=<?php echo $res['id'] ?>\"

部分代码。我确定我遗漏了一个 ' 或 " 但不确定在哪里对我来说这一切都有意义。任何有敏锐眼光的人都可以看出我哪里出错了吗?谢谢。

我的代码:

<td>

<?php if($res['ndaSent'] == "No") 
echo "<span class=\"buttonTestDisabled\"> Start Test</span>"; 
else 
echo "<a class=\"buttonTest\" href=\"start.php?id=<?php echo $res['id'] ?>\">Start Test</a> ";
?>

</td>

【问题讨论】:

【参考方案1】:
    echo "<a class=\"buttonTest\" href=\"start.php?id=<?php echo $res['id'] ?>\">Start Test</a> ";

不正确,您在完成 PHP 代码之前关闭了 PHP 代码。并且$res['id'] 不能像这样在您的echo 中,您应该在字符串中正确插入变量。像这样删除echo 中的开始和结束标记:

echo "<a class=\"buttonTest\" href=\"start.php?id=$res['id']\">Start Test</a> ";

请查看this awesome guide,了解如何修复此类语法错误。

【讨论】:

【参考方案2】:

你不能在 echo 中有 sn-p 使用简单的字符串 concatenation

<td>

<?php if($res['ndaSent'] == "No") 
echo "<span class=\"buttonTestDisabled\"> Start Test</span>"; 
else 
echo "<a class=\"buttonTest\" href=\"start.php?id=".$res['id']."\">Start Test</a> ";
?>

</td>

【讨论】:

【参考方案3】:

试试这个

echo "<a class=\"buttonTest\" href=\"start.php?id=" . $res['id'] . " \">Start Test</a> ";

【讨论】:

以上是关于php if then else语句语法错误某处[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Shell语法—— if 条件语句

简单 if-then-else 中的 Ocaml 语法错误

shell判断语法

Shell基础语法

Pandas 使用 If/Then/Else 语句在循环中抛出错误

shell编程-语句