2012-06-11 35 views
1

我還是PHP的初學者。我有一個小問題,我會用3.75乘以值get_formatted_order_total();和我所做的是PHP中的乘法函數結果

get_formatted_order_total(); * 3.75 

,但它沒有工作。

這裏是代碼

<li class="total"> 
    <?php _e('Total:', 'woocommerce'); ?> 
    <strong><?php echo $order->get_formatted_order_total(); ?></strong> 
</li> 

謝謝

+1

'get_formatted_order_total(); * 3.75' - 你確定';'是否需要? –

+0

**大警告:不要使用PHP浮點數來計算價格。**該變量類型沒有被設計用於商業計算。 – hakre

+1

建議的話,說「但它沒有工作。」不會發布解釋爲什麼,或任何相關的錯誤消息/堆棧跟蹤都不是很有幫助。 – Kev

回答

3

分號前往end of an instruction。由於這是所有一個指令,則需要分號移動到行的結尾:

echo get_formatted_order_total() * 3.75; 

實施例:http://codepad.org/HH3RLZCR

+1

謝謝你這麼匹配傢伙!它正在工作! :D但它的價值是錯的,它給我7.5,它應該是37.5,因爲get_formatted_order_total = 10的價值[因爲你知道這個價值在改變,而不是所有的時間都是10] – user1448371

+0

@ user1448371不要太在意在示例中返回的值,它僅僅是爲了演示功能。 – Sampson

+0

謝謝隊友!這麼多,但輸出爲0,我認爲這是因爲get_formatted_order_total()中包含的符號「$」有無法解決它? – user1448371

2

嘗試這樣

echo get_formatted_order_total() * 3.75; 

無; ()後。 ;應在3.75之後

+2

3.75 –

+0

後還需要半可樂我們可以使用或不使用;在最後一行,但這不是一個好習慣。 – yAnTar

+0

我忘了提及formatted_order_total的值包含在它的「$」中,其編號爲 – user1448371

1

的問題是,get_formatted_order_total()返回字符串,格式化用於顯示的在網站上,不是可用於計算的數值。

未格式化的值可作爲Order類的成員變量,所以

echo $order->order_total * 3.75; 

應該工作。

爲了理解這一點,看看source code of WoocommerceOrder::get_formatted_order_total()簡單地格式化Order::order_total與助手功能woocommerce_price()

/** Gets order total - formatted for display */ 
function get_formatted_order_total() { 
    $formatted_total = woocommerce_price($this->order_total); 

    return apply_filters('woocommerce_get_formatted_order_total', $formatted_total, $this); 
}