Простая функция, которая конвертирует валюты из одной в другую с учётом номинала.
* Конвертирует одну валюту в другую * @param int $sum Сумма * @param string $from Исходная валюта * @param string $to Валюта на выходе * @return int|boolean Результат конвертации */ function converter($sum, $from, $to) { //Массив с курсами валют $currency = array( 'USD' => array( //Номинал валюты 'nominal' => 1, //Курс по отношению к рублю 'value' => 33.8161, ), 'EUR' => array( 'nominal' => 1, 'value' => 45.8242, ), 'BYR' => array( 'nominal' => 10000, 'value' => 35.85, ), 'RUB' => array( 'nominal' => 1, 'value' => 1, ), 'AMD' => array( 'nominal' => 1000, 'value' => 85,4335, ), ); //Если валюты равны, то просто возвращаем сумму if ($from == $to) { return $sum; } //Если не существует элемента массива с индексом $from или $to if (!isset($currency[$from]) || !isset($currency[$to])) { return false; } //Считаем и возвращаем сконвертированную сумму return ($sum * $currency[$from]['value'] / $currency[$to]['value']) / $currency[$from]['nominal'] * $currency[$to]['nominal']; }