Benjamin Button
Benjamin Button

Reputation: 23

output days of the week via function

help me please

I have a code

<?php
// date on Russian
function getDateRus(){
    $monthes = array(
        1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля',
        5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа',
        9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря'
    );
    return ( (int)date('d') . ' ' . $monthes[(date('n'))] . date(' Y'));
}
// day on Russian
function getDayRus(){
    $days = array(
        'Воскресенье', 'Понедельник', 'Вторник', 'Среда',
        'Четверг', 'Пятница', 'Суббота'
    );
    return $days[(date('w'))];
}
echo "Today:" . getDateRus() . ", " . getDayRus();

?>

I need to put days off for a week ahead:

25 September, Monday

26 September, Tuesday

27 September, Wednesday

28 September, Thursday

29 September, Friday

30 September, Saturday

01 October, Sunday

I can print the dates for the week ahead, but without the Russian language.

how to deduce the dates for the week ahead and save the Russian language?

Upvotes: 1

Views: 94

Answers (1)

IsThisJavascript
IsThisJavascript

Reputation: 1716

I changed your structure slightly and I made use of the powerful function DateTime

$monthes = array(
    1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля',
    5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа',
    9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря'
);

$days = array(
    'Воскресенье', 'Понедельник', 'Вторник', 'Среда',
    'Четверг', 'Пятница', 'Суббота'
);

$dArray = array();
$date = new DateTime();
for($i=0; $i<7;$i++){
    $dArray[] = $date->format("d").' '.$monthes[$date->format("n")].','.$days[$date->format("w")];
    $date->modify("+1 day");
}

print_r($dArray);

Output:
Array ( [0] => 25 Сентября,Понедельник [1] => 26 Сентября,Вторник [2] => 27 Сентября,Среда [3] => 28 Сентября,Четверг [4] => 29 Сентября,Пятница [5] => 30 Сентября,Суббота [6] => 01 Октября,Воскресенье )

You can probs achieve this better by using strftime and setlocale. That way you will not need your day/month arrays

Upvotes: 0

Related Questions