Виртуальный Брест
Главная Портал Форум Рассылки Контакт Для клиентов Статьи

Покупаешь у нас? Доставка в Брест!
Покупаешь у нас? Доставка в Брест!
 
Горные лыжи из Бреста
Горные лыжи из Бреста
 
Поддержи инвалидов по зрению
Поддержи инвалидов по зрению
 

Виртуальный хостинг - дом для вашего сайта - лучшее предложение в Бресте!


Полный список глав книги

Дата по-русски


Скрипт, который мы сейчас рассмотрим, позволяет вывести на экран посетителя дату в формате русского языка. Сразу предупреждаю, что реализация алгоритма этой задачи не самая лучшая. Но – работоспособная, ясная во всех отношениях и простая. А главное – используется только то, что уже было описано. Сначала я приведу сам текст скрипта, а потом подробно опишу его.

<?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;
?>

Теперь рассмотрим, как работает этот скрипт. Сначала нам нужно определить два массива, в которых будут храниться соответственно  русское название месяца и русское название дня недели. Так как месяц не может быть нулевым, нам нужно позаботиться о вводе элемента массива с нулевым индексом. Если индекс массива не указан, он принимается равным внутреннему указателю. Если массив пуст и еще не определен, внутренний указатель указывает на первый элемент (имеющий индекс ноль).

Ввод нового элемента массива перемещает внутренний указатель на единицу вверх, и таким образом  обеспечивается последующий ввод значения массива в ячейку массива, имеющую индекс на единицу больший, чем предыдущий. В принципе, можно обеспечить ввод данных в массив разными способами. Но указанный здесь – самый простой и легкий для понимания. Мы просто присваиваем поочередно нужные нам данные элементам массива, и таким образом заполняем его.

Точно такая же история наблюдается и со вторым массивам. Только тут уже индекс нужных ячеек массива указывается явно, и внутренний указатель устанавливается на тот индекс, который указан. А после ввода значения перемещается вверх на единицу. Разница между этими двумя методами в том, что если массив уже был определен ранее, и индекс при вводе не указан, заполнится ячейка массива, на которую указывает внутренний указатель. А он ведь может находиться и не в конце! А если индекс указан явно, внутренний указатель устанавливается на его значение, и запись происходит в явно указанную ячейку.

Собственно говоря, чаще массивы бывают гораздо длиннее приведенных в нашем примере, и удобнее воспользоваться специальной функцией, которая позволяет считать указанный в ней файл и ввести все, что есть в этом файле в массив. Причем разделителем считается перевод строки, что очень удобно. Синтаксис этой функции - $имя массива =  file (“имя файла”); Дальше формируется массив с указанным именем и значениями, соответствующими строкам файла. Это позволяет хранить значения нужных элементов для любого массива в отдельных файлах в наглядном для программиста виде. А, кроме того, такой файл можно модифицировать на лету, так сказать, и в следующий раз использовать уже новые значения массива. Таким образом, решается вопрос отсутствия базы данных на хостинге – она элементарно может эмулироваться файловой системой сервера.

Когда массивы определены, нам нужно считать номер месяца. Он считывается с ведущим нулем, если номер месяца менее десяти, и поэтому нам нужно позаботиться об его отсечении. Тут можно применить тоже разные алгоритмы и методы, но мы воспользуемся лобовым решением – просто сравним полученное решение с рядом заранее известных вариантов и изменим номер месяца на правильный без нуля. Решение грубое, зато понятное и уже знакомое нам. Хотя так делать не правильно – есть более изящные методы. Например – проверить полученное значение на ведущий ноль, и если проверка есть истина (самый первый символ в строке – ноль), удалить первый символ.

Далее по ходу скрипта мы считываем день недели и число. С числом делать ничего не нужно, так как дата будет понятна всем, а вот день недели и месяц должны подвергнуться обработке. Извлекаем из введенного нами ранее массива день недели. Номер дня недели указывает на ячейку нашего массива, где хранится нужное русское имя, и таким образом мы в любом случае получим правильное значение. Меняется номер дня недели, меняется номер (индекс) ячейки, из которой считывается значение. Причем тут, в отличие от массива с именем месяца, нулю соответствует воскресенье, что мы и учли при вводе массива дней недели. Точно такую же операцию проводим и для месяца. Его номер указывает на ячейку массива, где хранится правильное имя месяца на русском языке. А дальше – выводим результат на экран в произвольной форме.

Читать еще...



Динар Дальви

XML.NET
В настоящее время XML представляет собой устоявшуюся технологию, применяемую для описания и передачи данных. Она оказывает существенное влияние практически на все аспекты...

Дэн Седерхольм

Пуленепробиваемый веб-дизайн
Эта книга, выходящая уже в третьем издании, посвящена концепции «пуленепробиваемого» веб-дизайна. Она научит вас применять HTML и CSS для разработки современных...

Артемий Лебедев

Ководство
В 1997 году Артемий Лебедев начал писать главы будущей книги про дизайн. Прошел год, но материала было недостаточно для издания книги. Тогда он стал выкладывать главы на сайте...

Эд Титтел, Джефф Ноубл

HTML, XHTML и CSS для `чайников`
Вам не нужно быть экспертом в области программирования, чтобы создавать современные веб-страницы. Даже имея минимальный опыт, можно вооружиться правильными инструментами, изучить...

    Информация

Главная - переход на начало
Тарифы на Российский хостинг
Правила - что можно а что нет
Заказ - сделайте это сейчас
Выбор домена - найди свое имя
Регистрация домена - купить
Оплата - варианты для всех
Панель управления Россия
Панель управления Беларусь
Вопросы и ответы - информация
Разработка сайтов - сопровождение
Виртуальный Брест - портал
Контакт - обратная связь
Наш форум - пообщаемся?
lexus gs
Список доменов
в которых доступна бесплатная регистрация имен при покупке хостинга, а так же открытие поч- тового ящика:

Новости Бреста:

Второй порыв теплосетей в Бресте - двенадцать многоэтажных домов и один детский сад остались без тепла
Почти тонну мёда задержали налоговики при проверке в Бресте
Зарплата в конвертах в Бресте - видео
Трое жителей Кавказа в "поисках работы" забрались прямо в лес в пограничную зону
Профилактика квартирных краж - важно
Современный животноводческий комплекс на 1500 голов строится в СПК "Королевский" Кобринского района - фото
Результаты проходящей на территории Брестской области акции "Не упусти свой шанс"
Осенний месячник по наведению порядка на земле проходит на Брестчине - важно
В Лунинецком районе в водоеме нашли автомобиль с телом внутри
ГАИ: брестчанин решил стать маршрутчиком и в пьяном состоянии вез горожан

© Виртуальный Брест 2001 - 2009 Автор проекта: Андрей Кухарчик Дизайн: Partgraphic