我可以使用两个||吗?和一个&&在PHP相同的if语句?

我可以使用两个||吗?和一个&&在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"; 
} 
+1

你“能”做到这一点(它的语法有效),但逻辑错了。如果planetA和planetB都是“Nova Terra”,那么您会收到290条短信。 –

+0

这是我所指的问题。将正确的逻辑分成4条语句会分裂吗?但我想缩短和节约代码。 –

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

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"; 
}