2009-11-25 51 views
4

我試圖輸出XML值,這是我做的 -PHP計算

<?php 
    echo $responseTemp->Items->Item->CustomerReviews->AverageRating; 
?> 

此輸出4.5,但是當我將其更改爲下面的代碼,它顯示爲8.爲什麼不它顯示爲9?謝謝。

<?php 
echo $responseTemp->Items->Item->CustomerReviews->AverageRating*2; 
?> 
+0

乘以你可以嘗試'回聲(浮動)$ responseTemp->項 - >用品 - > CustomerReviews-> AverageRating * 2' – Kyle 2009-11-25 17:58:24

回答

6

嘗試先將值轉換爲數值。

$num = (double) $responseTemp->Items->Item->CustomerReviews->AverageRating; 

echo $num * 2; 

Type JugglingString Conversion to Numbers PHP的網站了解更多信息。

+0

感謝您的快速回答 – usertest 2009-11-25 18:01:16

+0

你更比歡迎。歡迎來到StackOverflow! – Sampson 2009-11-25 18:08:51

+0

是的,如果你期待雙倍,強制它會。 – Kzqai 2009-11-25 18:10:48

2

如果您正在查找十進制值而未進行類型轉換,則必須乘以一個帶小數的數字。否則,它將返回一個正常的整數,如你給它的數字。

嘗試通過2.0

echo $responseTemp->Items->Item->CustomerReviews->AverageRating*2.0; 
+0

強調對已知數字的期望似乎沒有確定變量是你所期望的那麼有用,例如, 'echo(double)$ responseTemp-> Items-> Item-> CustomerReviews-> AverageRating * 2.0;' – Kzqai 2009-11-25 18:15:58

+0

我知道這是不正確的,我只是提供了另一個解釋爲什麼它不工作。 – Mike 2009-11-26 02:06:53