- Подробности
-
Категория: PHP. Синтаксис
Попалась мне статья некого Андрея Кухарчика: "Программируем на РНР". В ней был написан занятный скрипт вывода даты на русском языке. Но уж очень большой, на мой взгляд, он был.
Тот самый скрипт:
//-- определяем массив для месяцев --
$q[]="";
$q[]="января";
$q[]="февраля";
$q[]="марта";
$q[]="апреля";
$q[]="мая";
$q[]="июня";
$q[]="июля";
$q[]="августа";
$q[]="сентября";
$q[]="октября";
$q[]="ноября";
$q[]="декабря";
//-- определяем массив для дней недели --
$e[0]="воскресенье";
$e[1]="понедельник";
$e[2]="вторник";
$e[3]="среда";
$e[4]="четверг";
$e[5]="пятница";
$e[6]="суббота";
// ---- считываем месяц
$m=date('m');
if ($m=="01") $m=1;
if ($m=="02") $m=2;
if ($m=="03") $m=3;
if ($m=="04") $m=4;
if ($m=="05") $m=5;
if ($m=="06") $m=6;
if ($m=="07") $m=7;
if ($m=="08") $m=8;
if ($m=="09") $m=9;
// ---- считываем день недели
$we=date('w');
// ---- считываем число
$chislo=date('d');
// — извлекаем из день недели
$den_nedeli = $e[$we];
// — извлекаем значение месяца
$mesyac = $q[$m];
echo "Сегодня ".$chislo." ".$mesyac.", ".$den_nedeli;
Вот видите какой он большой, громоздкий. Я же решил избавиться от лишнего кода и написать функцию вывода даты на русском языке
Для этого я убрал многочисленные сравнения и ввод данных в массив. В результате у меня вот что получилось:
function gws_daterus() {
//-- определяем массив для месяцев --
$mounth=array(
"01" => "января", "02" => "февраля", "03" => "марта",
"04" => "апреля", "05" => "мая", "06" => "июня",
"07" => "июля", "08" => "августа", "09" => "сентября",
"10" => "октября", "11" => "ноября", "12" => "декабря"
);
//-- определяем массив для дней недели --
$week=array(
воскресенье, понедельник, вторник, среда,
четверг, пятница, суббота,
);
$date_m=strtr(date('m'), $mounth);
$date_w=$week[date('w')];
$date_d=date('m');
return $date_d." ".$date_m.", ".$date_w;
}
По-моему, мой вариант более красивый. На скорость выполнения я не проверял,
но думаю скорость выполнения скрипта должна увеличиться