1

私は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 を、フェッチされた別の価格データに追加して、合計を返すことはできますか?

4

2 に答える 2

1

私は基本的にあなたがしていることをしますが、100で割る方がはるかに簡単です:

価格を float に変換します。

$gprice = $gprice / 100;

そして使用するmoney_format

参照: PHP ドキュメント - money_format

これを行うこともできますが、実際には必要ありません。

$gprice = (int) $gdata['price_overview']['final'];
于 2013-04-27T22:06:13.510 に答える
0

変換は悪くありませんが、これも使用できます。

$gusd = $gprice/100;

echo $gname. '<br>';
echo 'Price: $' .str_replace('.', ',', $gusd);

または、replace の代わりに money_format を使用しますが、もう少し複雑です。

また、別のものを追加するには、次のように + または += 演算子だけで実行できます。

$gprice+= $gdata['price_overview']['final'];
于 2013-04-27T22:12:37.620 に答える