PHP Simplexml中的基础数学

时间:2013-04-14 16:03:13

标签: php simplexml

下面的代码是PHP格式,并从XML响应文件中返回价格。

$price = $result->Items->Item->OfferSummary->LowestNewPrice->FormattedPrice; //lowest new price 
$listPrice = $result->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice; //list price

如果我回复$ price或$ listPrice,它可以正常工作

我希望得到两种价格之间的差异,但如果我这样做,我就会变为空白

$savings = $listPrice - $price; or $savings = ($listPrice - $price);

欢迎任何帮助

3 个答案:

答案 0 :(得分:2)

您最有可能尝试从字符串中减去字符串。您需要将值转换为数字类型。如果您正在处理价格,您可能需要浮点数:

$price = floatval($result->Items->Item->OfferSummary->LowestNewPrice->FormattedPrice); //lowest new price 
$listPrice = floatval($result->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice); //list price

$savings = $listPrice - $price;

答案 1 :(得分:1)

我假设$ price和$ listprice是数字(整数或双精度),因此它们可能在单独回显它们时看起来是数字,但它们可能是具有空格的字符串,阻止它们被解析。尝试使用trim()删除空格(例如,$ price = trim($ price))。

答案 2 :(得分:0)

虽然它们可能看起来像是数字,但为了确保它们,将它们投射到花车上可能是值得的。

$savings = floatval($listPrice) - floatval($price);