array_walk関数を使って円をドルに変換
コールバック関数を使ったプログラミングを勉強すべく、
array_walk関数で練習した。
円の配列を対応するドルの配列に変換する。
yen2dollが今回定義したコールバック関数。
第一引数の円の値をドルの値に書き換える。
このコールバック関数の引数は左から順に
「値、キー、ユーザが使うデータ」
とのこと。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php /* ドル円レート 1$ = 108.601216 円 */ $rateDollYen = 108.601216; // 円一覧 $yenData = [0, 1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000]; // 円リスト foreach($yenData as $data){ $yenList[$data] = $data; } // 配列をコピーして $dollList = $yenList; // 円をドルに変換 array_walk($dollList, "yen2doll", $rateDollYen); // 出力 foreach($dollList as $yen => $doll){ // それぞれ整形 $yen = sprintf("%5d", $yen); $doll = sprintf("%5.02f", $doll); // 出力 echo $yen . " 円は " . $doll . "ドル" . PHP_EOL; } // コールバック関数 function yen2doll(&$value, $key, $rateDollYen){ $value = $value * 1.0 / $rateDollYen; } |