2017-11-04 16 views
6

Bạn chọn hai hành tinh A và B trong các tùy chọn bộ chọn để đo khoảng cách.Tôi có thể sử dụng hai || và một && trong cùng một câu lệnh if trong PHP?

Ví dụ:

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

Bạn đọc "từ Nova Terra Nova Iaponia OR từ Nova Iaponia Nova Terra". Để = và.

này tương tự như thích:

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

Bạn "có thể" làm được điều này (đó là cú pháp hợp lệ), nhưng logic là sai. Nếu cả planetA và planetB đều là "Nova Terra", bạn sẽ nhận được thông báo có 290 parsec. –

+0

Đây là vấn đề mà tôi đang đề cập đến. Logic chính xác có được chia thành 4 câu không? Nhưng tôi muốn rút ngắn và tiết kiệm các mã. –

Trả lời

4

Bạn chỉ cần trao đổi toán tử logic của bạn để có được kết quả bạn muốn

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"; 
} 
Các vấn đề liên quan