我是PHP的新手。
我的代码从Steam游戏的json数据中读取价格值。
http://store.steampowered.com/api/appdetails/?appids=8870
问题是价格节点的值没有用美元和美分的逗号分隔符格式化。我的代码可以将美元和美分拼凑在一起,但这是为此实例执行此操作的正确方法。此外,如果有另一种更简单的方法来做我的新手代码,请随时向我展示它可以改进的地方。谢谢!
<?php
$appid = '8870';
$ht = 'http://store.steampowered.com/api/appdetails/?appids=' . $appid;
$fgc = file_get_contents($ht);
$jd = json_decode($fgc, true);
$gdata = $jd[$appid]['data'];
$gname = $gdata['name'];
$gprice = $gdata['price_overview']['final'];
$gdesc = $gdata['detailed_description'];
$gusd = substr($gprice, 0, -2);
$gcent = substr($gprice, 2);
echo $gname. '<br>';
echo 'Price: $' .$gusd. ',' .$gcent;
?>
如果我可能会问另一个问题......可以将价格数据(即$ gprice)添加到另一个提取的价格数据中,以返回总数。
答案 0 :(得分:1)
我基本上会做你正在做的事情,除了它更简单,除以100:
将价格变为浮动:
$gprice = $gprice / 100;
然后使用money_format
您也可以这样做,但确实没有必要。
$gprice = (int) $gdata['price_overview']['final'];
答案 1 :(得分:0)
转换不错,但你也可以使用它:
$gusd = $gprice/100;
echo $gname. '<br>';
echo 'Price: $' .str_replace('.', ',', $gusd);
或使用money_format而不是替换,但它有点复杂。
另外,要添加另一个,你可以只使用+或+ =运算符,如下所示:
$gprice+= $gdata['price_overview']['final'];