
- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке php
- •Иркутск
- •Содержание
- •Внедрение php-сценария в html-документ
- •Алфавит языка
- •Служебные слова
- •Типы данных
- •Комментарии
- •Переменные
- •Математические функции
- •Математические константы
- •Выражения
- •Операторы присваивания
- •Проверка существования переменной
- •Isset(переменная);
- •Is_string(переменная);
- •Мои поздравления!
- •Платежная ведомость
- •Отладочная печать
- •Var_dump(переменная);
- •Форматирование чисел
- •Number_format(переменная, точность, разделитель1, разделитель2);
- •Массивы
- •Создание массивов
- •Многомерные массивы
- •Операции над массивами Перемещение по массиву
- •Копирование массивов
- •Сортировка массивов
- •Запись значений элементов массива в переменные из списка
- •Преобразование массива в текстовую строку
- •Преобразование текстовой строки в массив
- •Функции для работы с массивами
- •Глобальные предопределенные массивы
- •Работа с формой Работу выполнил студент группы ис-09 Пупкин Василий
- •Дата и время
- •Mktime(час, мин, сек, месяц, день, год);
- •1972450760 Секунд 547902.98888889 часов 22829.291203704 дней 62.546003297818 лет
- •Date(формат, число);
- •Strtotime(дата_время, число);
- •Функции
- •Рекурсия
- •Функция dumper()
- •Функции для работы со строками
- •Регулярные выражения
- •Автономные функции
- •Текстовые файлы
- •Включение файлов
- •Получение информации о файле
- •Блокировка файлов
- •Бинарные файлы
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •Действие альтернативы:
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Часто встречающиеся ошибки программирования:
- •Переключатель
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Программа:
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Программа:
- •Циклы с параметром
- •Действия цикла:
Дата и время
Дата и время хранятся в специальном формате timestamp(временная метка) как количество секунд, прошедших от01.01.1970 00:00:00 GMT(Greenwich Mean Time– среднее время по Гринвичу).
В приложениях обычно требуется другое представление даты и времени, для чего в PHPпредусмотрены специальные функции.
Текущеесистемное время в форматеtimestamp(как целое количество секунд) можно получить с помощью функцииtime():
$now=time();
echo $now; // количество секунд
Для получения в этом же формате любого другого времени служит функция:
Mktime(час, мин, сек, месяц, день, год);
$segodnja=mktime(9,14,50,3,26,2012);
echo $segodnja;
В качестве аргументов этой функции можно использовать как конкретные числа, так и имена переменных.
Все вычисления над датами и временем выполняются только в формате timestamp.
Пример:определить количество секунд, часов, дней и лет, прошедших от19.09.1949(день рождения автора) до текущей даты:
<?php
$now = time();
$born=mktime(2,15,30,9,19,1949);
$x=$now-$born;
echo $x, " секунд";
echo "<BR>";
$x=$x/60/60; //в часах
echo $x, " часов";
echo "<BR>";
$x=$x/24; //в днях
echo $x, " дней";
echo "<BR>";
$x=$x/365; //в годах
echo $x, " лет";
echo "<BR>";
?>
Результат работы программы:
1972450760 Секунд 547902.98888889 часов 22829.291203704 дней 62.546003297818 лет
Для преобразования временной меткив привычное представление используется функцияgettate().В качестве необязательного параметра ей можно передать временную метку, а функция возвращает ассоциативный массив, содержащий информацию о дате. Если функции ничего не передается, то выводится информация о текущем моменте времени, полученном от функцииtime().
Возвращаемый функциейgettate()ассоциативный массивимеет следующую структуру:
secondsсекунды, прошедшие после полной минуты (0 – 59),
minutesминуты, прошедшие после полного часа (0 – 59),
hoursзначение часов дня (0 – 23),
mdayдень месяца (1 – 31),
wdayдень недели (0 – 6),
monмесяц года (1 – 12),
yearгод –четыре цифры,
ydayдень года (0 – 365),
weekdayдень недели –название,
monthмесяц года –название,
0метка времени:
$date_array = getdate();
foreach ($date_array as $index=>$value)
{
echo “$index => $value”;
echo “<BR>”;
}
На экран будет выведено:
seconds => 18 minutes => 42 hours => 9 mday => 21 wday => 6 mon => 4 year => 2012 yday => 111 weekday => Saturday month => April 0 => 1334968938
Для представления даты и времени в требуемом формате как строкииспользуется функция:
Date(формат, число);
- число– количество секунд, прошедших с01.01.1970 00:00:00 GMT- функцияmktime(час, мин, сек, месяц, день, год),
- формат– строка символов форматирования даты и времени.
Допустимые символы:
d – день месяца – две цифры,
j – день месяца – одна или две цифры,
m– месяц – две цифры,
n– месяц – одна или две цифры,
Y– год – четыре цифры,
y– год – две цифры,
Н– часы – две цифры (от00до23),
G– часы – одна цифра (от0до23),
i – минуты – две цифры (от00до59),
s– секунды – две цифры (от00до59),
F– английское название месяца,
М– его трехбуквенное сокращение,
l– английское название дня недели,
D– его трехбуквенное сокращение.
Между символами форматирования можно использовать разделители:
d.m.Y
j-n-y
d/m/Y
H:i:s
Если второй параметр функцииdate()не указан, то предполагаетсятекущеевремя:
date(“d.m.Y”);текущая дата в формате27.03.2012
date(“d-m-Y H:i:s);текущие дата и время в формате27-03-2012 12:35:28
Для обратного перевода текстовой строки, содержащей дату и время, в форматtimestamp, служит функция: