【发布时间】: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