php
  • operators
  • 2010-07-15 23 views 0 likes 
    0

    我想在php 5中使用和OR語句,但它只是不工作,這個腳本有什麼問題。這是假設發射的錯誤,但它沒有。如果我刪除「||」(我認爲是OR語句),它會引發錯誤。php 5 OR語句

    if($winner=="2" && $fteamscore>$steamscore){ 
    $return['error'] = true; 
    $return['msg'] = 'Wrong Score, You said you LOST but you are reporting that you WON.'; 
    } 
    if($winner=="3" && $fteamscore>$steamscore){ 
    $return['error'] = true; 
    $return['msg'] = 'Wrong Score, You said you WON but your are reporting that your OPPONENT won.'; 
    } 
    if($fteamscore<$steamscore && $winner=="3" || $winner=="2"){ 
    

    回答

    1

    您的括號內容不正確。試試這個:

    ($fteamscore<$steamscore) && ($winner=="3" || $winner=="2") 
    

    沒有任何括號,「and」首先被評估。你的表情相當於:

    (($fteamscore<$steamscore && $winner=="3") || $winner=="2") 
    

    更多關於運算符優先級:http://en.wikipedia.org/wiki/Logical_connective#Order_of_precedence

    +0

    您的回答最好。謝謝 – 2010-07-15 16:23:01

    2

    也許你需要parens?

    if($fteamscore<$steamscore && ($winner=="3" || $winner=="2")) { 
    

    這種方式是,在括號表達式正在& &「之前評估ð由於操作者的優先級。

    +0

    的回答總是那麼簡單再用。謝謝bro – 2010-07-15 15:40:21

    相關問題