2016-09-14 48 views
1

我有一個字段在MySQL數據庫:價格字段設置爲浮動(25,2)。PHP數學與變量不工作

這爲什麼不會產生結果?

$refundable = $trial->data()->price - 100.00;

如果我只是回聲$審訊中─>數據() - >價格我得到的1100.00的記錄值,但它不會在這個簡單的數學方程式工作。

什麼也不顯示爲$退還

結果這裏是我的方法:

public function find($invoice_id = null) { 
     if($invoice_id) { 
      $data = $this->_db->query("SELECT * FROM invoice WHERE invoice_id =" . $invoice_id . ""); 

      if($data->row_count()) { 
       $this->_data = $data->first(); 
       return true; 
      } 
     } 
     return false; 
    } 

    public function data() { 
     return $this->_data; 
    } 
+1

您如何輸出結果? –

+1

$'var_dump($ trial-> data() - > price)的輸出是什麼;''類型? –

+1

另外,你可以展示'data()'方法的工作原理嗎? –

回答

0

腓可以解釋從您的分貝作爲一個字符串值。將它作爲浮動投射應該起作用,例如,

$refundable = (float)$trial->date()->price - 100.00 
+0

如果'price'是一個數字字符串,從它減去一個float將創建一個[數字上下文](http://php.net/manual/en/language.types.string.php#language.types.string.conversion )它已經被評估爲一個數字。明確的演員不應該是必要的。 –

+0

var轉儲是字符串(7)。 –

+0

我也用方法更新了我的問題,按照要求 –

0

我想通了,謝謝。數學運算WAS工作正常。我發現的問題是,在我使用它的地方,我不得不將它轉換回字符串,以便它可以與某個插件正常工作。

我很感謝這裏的幫助。

沒有評論,我會失去一段時間!