2016-09-21 15 views
-1

我想弄清楚爲什麼我的if語句在if語句完成後返回值1。在if語句之後數組內部的值發生了變化?

 $stmt = $db_con->prepare("SELECT id, username, managedby, commisionPercentage FROM `accounts` WHERE id = '$studentSignedUpBy'"); 
     $stmt->execute(); 
     $results = $stmt->fetchAll(); 

     if ($results[0]['commisionPercentage'] =! 0) { 
      $agentCommisionPercentage = $results[0]['commisionPercentage']; 
      $commisiontype = 2; 
     } 
     echo $results[0]['managedby']; //this returns the correct value (25) 
     if ($results[0]['managedby'] =! 0) { 
      $managedStudentSignedUp = $results[0]['managedby']; 
     } 
     echo $results[0]['managedby']; //this returns the value 1 which ends up making $managedstudentSignedUp = 1 which is an issue. 
+0

這是'!='不'!=' –

+0

不等於,不是不等於'如果( $ results [0] ['managedby']!= 0){' –

+0

哦,哇!非常感謝你!今天早上我需要更多咖啡。 –

回答

2

您的代碼:

if ($results[0]['managedby'] =! 0) { 

分拆下來,這是分配的0(falsy),這是布爾真相反值。當你echo它的類型是玩雜耍,並輸出爲1的整數。

顯然你想用!=來代替比較而不是賦值。

+0

謝謝,我明天早上需要更多咖啡! –

0

問題,如果條件運算符 它不是 =!它會在這裏!= 檢查細節

Click here