【问题标题】:Can I use two || and one && in the same if statement in PHP?我可以用两个吗||和一个 && 在 PHP 中的相同 if 语句中?
【发布时间】:2017-11-04 05:07:20
【问题描述】:

您在选择器选项中选择两个行星 A 和 B 来测量距离。

例如:

if (($planetA == "Nova Terra" || $planetB == "Nova Iaponia") && ($planetA == "Nova Iaponia" || $planetB == "Nova Terra")) 
{ 
    echo "From $planetA to $planet B: 290 parsecs"; 
}

else if (($planetA == "Nova Terra" || $planetB == "Novo Mars") && ($planetA == "Novo Mars" || $planetB == "Nova Terra"))
{ 
    echo "From $planetA to $planet B: 230 parsecs"; 
}

您读到“从 Nova Terra 到 Nova Iaponia 或从 Nova Iaponia 到 Nova Terra”。为 = 和。

这类似于like:

if ($planetA == "Nova Terra" || $planetB == "Nova Iaponia") 
{ 
    echo "From $planetA to $planet B: 290 parsecs"; 
}

else if ($planetA == "Nova Iaponia" || $planetB == "Nova Terra") 
{ 
    echo "From $planetA to $planet B: 290 parsecs"; 
}

else if ($planetA == "Nova Terra" || $planetB == "Novo Mars")
{ 
    echo "From $planetA to $planet B: 230 parsecs"; 
}

else if ($planetA == "Novo Mars" || $planetB == "Nova Terra")
{ 
    echo "From $planetA to $planet B: 230 parsecs"; 
}

【问题讨论】:

  • 你“可以”这样做(它在语法上是有效的),但逻辑是错误的。如果planetA 和planetB 都是“Nova Terra”,您会收到消息说290 秒差距。
  • 这是我指的问题。正确的逻辑是将 if 拆分为 4 个语句吗?但我想缩短和节省代码。

标签: php if-statement logical-operators


【解决方案1】:

你只需要交换你的逻辑运算符来得到你想要的结果

if (($planetA == "Nova Terra" && $planetB == "Nova Iaponia") || ($planetA == "Nova Iaponia" && $planetB == "Nova Terra")) 
{ 
    echo "From $planetA to $planet B: 290 parsecs"; 
}

else if (($planetA == "Nova Terra" && $planetB == "Novo Mars") || ($planetA == "Novo Mars" && $planetB == "Nova Terra"))
{ 
    echo "From $planetA to $planet B: 230 parsecs"; 
}

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2017-12-03
    • 2020-06-06
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 2022-06-11
    相关资源
    最近更新 更多