下面的代码是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);
欢迎任何帮助
答案 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);