三元运算符的使用

Use of ternary operator

我正在处理一个 PHP 项目并遇到错误:

代码:

 echo'<table>  
<td> ' .(   ($approve == 1 AND $decline == 0 )? "<span style='color: green'>  approved</span>" 
      : ($approve == 0 AND $decline == 0 )? "<span style='color: orange'>  
      Pending </span>" : "<span style='color: red'>  Declined </span>"
       ).   ' </td> </table>';

以上使用三元运算符的格式对吗?因为我无法获得正确的价值。请告诉我错误是什么?
编辑:
错误是我无法获得批准,而是我正在等待和拒绝。

您使用“()”的错误

$approve = 1;
$decline = 0;

$res = ($approve == 1 AND $decline == 0)
    ? "<span style='color: green'>  Approved</span>"
    : (
    ($approve == 0 AND $decline == 0)
        ? "<span style='color: orange'>  Pending </span>"
        : "<span style='color: red'>  Declined </span>"
    );

echo $res;

第一个条件的第三个操作数必须在 括号。

对于使用括号的代码:

echo '<td>'
. (($approve == 1 AND $decline == 0)
    ? "<span style='color: green'>  Approved</span>"
    : (
    ($approve == 0 AND $decline == 0)
        ? "<span style='color: orange'>  Pending </span>"
        : "<span style='color: red'>  Declined </span>"
    ))
. '</td>';