<?php
function get_rate($currency)
{
    $date = getdate();
    $day_of_the_week = $date['wday'];
    switch ($day_of_the_week) {
        case 0:
            $k1 = 2;
            $k2 = 1;
            break;   // воскресенье
        case 1:
            $k1 = 3;
            $k2 = 2;
            break;   // понедельник
        case 2:
            $k1 = 3;
            $k2 = 0;
            break;  // вторник
        default:
            $k1 = 1;
            $k2 = 0;
            break;   // среда, четверг, пятница, суббота
    }
    $month = $date['mon'];
    $day = $date['mday'];
    $yesterday = $day - $k1;
    $today = $day - $k2;
    $year = $date['year'];
    $date_yesterday = date("d/m/Y", mktime(0, 0, 0, $month, $yesterday, $year));
    $date_today = date("d/m/Y", mktime(0, 0, 0, $month, $today, $year));
    $rate = array();
    foreach ($currency as $key => $value) {
        $url = 'http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=' . $date_yesterday . '&date_req2=' . $date_today . '&VAL_NM_RQ=' . $value;
        $xml = simplexml_load_file($url);
        $rate_today = round(str_replace(',', '.', $xml->Record[1]->Value), 2);
        $rate_yesterday = round(str_replace(',', '.', $xml->Record[0]->Value), 2);
        $range = round($rate_today - $rate_yesterday, 2);
        if ($range > 0) {
            $range = '+' . $range;
            $img = 'plus';
        } elseif ($range == 0) {
            $range = 0;
            $img = 0;
        } else {
            $img = 'minus';
        }
        $rate[$key] = array(
            'today' => $rate_today,
            'change' => $range,
            'img' => $img
        );
    }
    return $rate;
}
function get_rate_tomorrow($currency)
{
    $date = getdate();
    $day_of_the_week = $date['wday'];
    switch ($day_of_the_week) {
        case 0:
            $k1 = 2;
            $k2 = 2;
            break;   // воскресенье
        case 1:
            $k1 = 3;
            $k2 = 1;
            break;   // понедельник
        case 2:
            $k1 = 3;
            $k2 = 1;
            break;  // вторник
        case 6:
            $k1 = 3;
            $k2 = 3;
            break; //суббота
        default:
            $k1 = 1;
            $k2 = 1;
            break;   // среда, четверг, пятница
    }
    $month = $date['mon'];
    $day = $date['mday'];
    $tomorrow = $day + $k2;
    $today = $day - $k1;
    $year = $date['year'];
    $date_tomorrow = date("d/m/Y", mktime(0, 0, 0, $month, $tomorrow, $year));
    $date_today = date("d/m/Y", mktime(0, 0, 0, $month, $today, $year));
    $rate2 = array();
    foreach ($currency as $key => $value) {
        $url = 'http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=' . $date_today . '&date_req2=' . $date_tomorrow . '&VAL_NM_RQ=' . $value;
        $xml = simplexml_load_file($url);
        $rate_today = round(str_replace(',', '.', $xml->Record[1]->Value), 2);
        $rate_tomorrow = round(str_replace(',', '.', $xml->Record[2]->Value), 2);
        $range = round($rate_tomorrow - $rate_today, 2);
        if ($range > 0) {
            $range = '+' . $range;
            $img = 'plus';
        } elseif ($range == 0) {
            $range = 0;
            $img = 0;
        } else {
            $img = 'minus';
        }
        $rate2[$key] = array(
            'tomorrow' => $rate_tomorrow,
            'change' => $range,
            'img' => $img
        );
    }
    return $rate2;
}<?php
require_once 'get_rate.php';
$currency = array(
    'dollar' => 'R01235',
    'euro' => 'R01239'
);
$rate = get_rate($currency);
$rate2 = get_rate_tomorrow($currency);
$date = getdate();
$day_of_the_week = $date['wday'];
//расчет коэффициента смещения
switch ($day_of_the_week) {
    case 0:
        $k1 = 2;
        $k2 = 2;
        break;   // воскресенье
    case 1:
        $k1 = 3;
        $k2 = 1;
        break;   // понедельник
    case 2:
        $k1 = 3;
        $k2 = 1;
        break;  // вторник
    case 6:
        $k1 = 3;
        $k2 = 3;
        break;
    default:
        $k1 = 1;
        $k2 = 1;
        break;   // среда, четверг, пятница, суббота
}
$month = $date['mon'];    // месяц
$day = $date['mday'];     // число сегодня
$tomorrow = $day + $k2;  // число для получени
$date_tomorrow = date("d.m", mktime(0, 0, 0, $month, $tomorrow)); // Генерация даты для курса завтрашнего дня
?><?php foreach ($rate2 as $key => $value) { ?>
                            <li>
                                <div class="image">
                                    <img src="images/<?php echo $key; ?>.png" alt="" width="43" height="44">
                                </div>
                                <div class="text-box">
                                    <strong class="price"><?php echo $value['tomorrow']; ?></strong>
                                    <?php if ($value['change']) { ?>
                                        <span class="difference difference-<?php echo $value['img']; ?>"><?php echo $value['change']; ?>%</span>
                                    <?php } else { ?>
                                        <span class="difference difference-plus">+0.00%</span>
                                    <?php } ?>
                                </div>
                            </li>
                        <?php } ?>