我可以使用两个||吗?和一个&&在PHP相同的if语句?
问题描述:
您在选择器选项中选择两个行星A和B来测量距离。我可以使用两个||吗?和一个&&在PHP相同的if语句?
例如:
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";
}
你读“从新星到泰拉诺娃Iaponia或从新星Iaponia新星兵马俑”。 To =和。
这是类似这样的:
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";
}
答
你只需要交换你的逻辑运算符来获得结果你想要
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";
}
你“能”做到这一点(它的语法有效),但逻辑错了。如果planetA和planetB都是“Nova Terra”,那么您会收到290条短信。 –
这是我所指的问题。将正确的逻辑分成4条语句会分裂吗?但我想缩短和节约代码。 –