使用三元条件的两个if语句

use*_*737 2 php ternary

标题似乎令人困惑,但这是我第一次使用三元条件.我已经读过三元组用于创建内联if/else语句.不能使用别的东西是不可能的.这是真的吗?

我想用练习的三元条件来改变它

if (isset($_SESSION['group']
{
if ($_SESSION['item'] == 'A')
{
echo "Right!";
}
}
Run Code Online (Sandbox Code Playgroud)

它只有两个if语句.第二个if与另一个嵌套.我还读过,为了使三元组成为别的可能,它只需要设置为null或空字符串.

Gig*_*egs 5

这是一个不好的例子,因为您可以在嵌套的 if 上使用 AND 运算符:

$result = isset($_SESSION['group'] && $_SESSION['item'] == 'A' ? true : false;
Run Code Online (Sandbox Code Playgroud)

当然,您也可以嵌套三元运算符:

$result = isset($_SESSION['group'] ? ( $_SESSION['item'] == 'A' ? true : false ) : false;
Run Code Online (Sandbox Code Playgroud)

有回声

echo  isset($_SESSION['group'] ? ( $_SESSION['item'] == 'A' ? "Right!" : "false" ) : "false";
Run Code Online (Sandbox Code Playgroud)

  • 你也可以这样做`$result = isset($_SESSION['group']) && $_SESSION['item'] == 'A';` (2认同)

Niv*_*vas 5

echo (isset($_SESSION['group']) && $_SESSION['item'] == 'A') ? "Right" : ""
Run Code Online (Sandbox Code Playgroud)

更好(可读,可维护),使用:

if (isset($_SESSION['group']) && $_SESSION['item'] == 'A')
{
   echo "Right!";
}
Run Code Online (Sandbox Code Playgroud)