0
通貨コード(3文字)を受け取って公式通貨記号を返すシステムを作成します。これは、関数がUSDを受け取ると$記号を返すことを意味します世界のすべての分母に記号への通貨コード - PHP JSON
私が発行した機能がうまくいかない結果になりました(私はUSDには$を、AEDにはد.إは得られません)。なぜ私は考えていない? TIA
Array ( [symbol] => AED [symbol_native] => د.إ. [decimal_digits] => 2 [rounding] => 0 [code] => AED )
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function searchJson($obj, $value) {
foreach($obj as $key => $item) {
if(!is_nan(intval($key)) && is_array($item)){
if(in_array($value, $item)) return $item;
} else {
foreach($item as $child) {
if(isset($child) && $child == $value) {
return $child;
}
}
}
}
return null;
}
function get_currency_symbol($cur)
{
$json = file_get_contents_curl('http://www.localeplanet.com/api/auto/currencymap.json');
$data = json_decode($json, true);
$results = searchJson($data , $cur);
return $results;
}
print_r(get_currency_symbol('USD'));
1.あなたが本当に毎回そのJSONファイルを取得する必要がありますか?私は、通貨記号が頻繁にそれを変更しているとは思わない、そのファイルのローカルコピーまたは単純な検索配列で十分です。 2.作業しているデータのサンプルを表示します。 – deceze
'searchJson()'関数で何をしようとしているのか分かりません。すべての関数には次のものが必要です: 'return!empty($ obj [$ value])? $ obj [$ value] ['symbol_native']:null; '存在する場合、正しいシンボルを返します。 –
@MagnusEriksson完璧ありがとう – AnnaLA