Работа с датой и временем.
В серьезных проектах не обойтись без функции date(), параметрами которой являются:
Функция date (string $format [,int $timestamp]) выводит отформатированную дату на основе второго параметра или на основе текущей даты, если параметр $timestamp не указан. Строка формата может содержать обычный текст, а также модификаторы, которые при выводе заменяются на соответствующие значения.
Модификаторы формата функции date():
Модификатор |
Описание |
U |
Количество секунд, прошедших с полуночи 1 января 1970 года ( с момента основания Unix) |
Y |
Год ( 4 цифры ) |
y |
Год ( 2 цифры ) |
z |
Номер дня от начала года (от "0" до "365") |
F |
Полное английское название месяца ("December) |
m |
Номер месяца (2 цифры: от "01" до "12") |
n |
Номер месяца без предваряющего нуля: от "1" до "12" |
M |
Трехсимвольная английская аббревиатура месяца ("Dec") |
d |
Номер дня в месяце (2 цифры: от "01" до "31") |
j |
Номер дня месяца без предваряющего нуля: от "1" до "31" |
l |
Текстовое название дня недели, например: "Monday" |
w |
Номер дня недели ("0" - Воскресенье, "1" - Понедельник и т.д.) |
D |
Трехбуквенная английская аббревиатура дня недели (например:, "Mon") |
A |
"До" или "после" полудня: "AM" или "PM" |
a |
"До" или "после" полудня "am" или "pm" |
H |
Часы (24 - часовой формат) от "00" до "23" |
h |
Часы (12 - часовой формат) от "01" до "12" |
i |
Минуты, от "00" до "59" |
s |
Секунды, от "00" до "59" |
Примеры использования функции date():
echo date ("Сегодня d.m.Y"');
echo date ("Дата создания файла index.html", filectime ("index.html"));
При обработке введенных параметров полезной является функция checkdate(), которая проверяет корректность введения даты. Функции нужно передать три параметра - месяц, день и год (именно в такой последовательности). Дата проверяется так:
Функция mt_rand (int $from, int $to = RAND_MAX) - функция для генерации случайных чисел, возвращает случайное число от $from до $to. Если второй оператор не задан, используется значение по умолчанию - константа RAND_MAX. Значение данной константы можно узнать с помощью функции mt_getrandmax().
Пример, сгенерируем 10 случайных чисел от 0 до 100:
for ($s=0; $s<10; $s++) echo "mt_rand (0, 100)";
Сценарий постоянно выводит одну и туже последовательность из 10 случайных чисел. Для настройки генератора случайных чисел на новую последовательность используется функция mt_srand().
Функции mt_srand() нужно передать всего один параметр, на основании которого она настроит генератор на новую последовательность. В качестве параметра можно передать значение функции time(), которое возвращает количество секунд прошедшее с 01 января 1970 года:
<?
mt_srand(time());
echo time();
?>
Математические функции max() и min().
Функция max() возвращает максимальный из переданных ей n-аргументов. Например:
<?
$a=8;
$b=23;
echo max (7,10,3,1,$a,$b); // Выведет 23
?>
Если функции передан один параметр, то он должен быть массивом, в котором будет производен поиск максимального элемента.
Функция min () работает аналогично функции max (), но ищет минимальный элемент.
Математические функции PHP:
Функция |
Описание |
acos (float $x) | Вычисляет арккосинус аргумента $x |
asin (float $x) | Вычисляет арксинус аргумента $x |
atan (float $x) | вычисляет арктангенс аргумента $x |
atan2 (float $x, float $y) | Вычисляет арктангенс числа $x/$y. Результат в радианах. |
sin (float $x) | Вычисляет синус аргумента $x. Аргумент задается в радианах. |
cos (float $x) | Вычисляет косинус аргумента $x. Аргумент задается в радианах. |
tan (float $x) | Вычисляет тангенс аргумента $x. Аргумент задается в радианах. |
pi () | Возвращает число Pi. Вместо функции pi () удобнее использовать константу M_PI |
sqrt (float $x) | Возвращает квадратный корень $x. |
log (float $x) | Возвращает натуральный логарифм $x |
exp (float $x) | Возвращает экспоненту (2,71828182845) в степени $x |
pow (float $x, $a) | Возвращает $x в степени $a |
Результат, возвращаемый всеми перечисленными функциями, имеет тип float (вещественное число большой точности). Только число pi возвращается с типом double.
Преобразование систем счисления.
Функция base_convert() - универсальная функция для преобразования кодировок. Ей нужно передать три параметра:
Первый параметр может содержать, как цифры, так и латинские буквы. При этом цифры обозначают сами себя, а буква "а" обозначает 10, буква "в" обозначает 11, и так далее до буквы "z". Последние два параметра могут принимать значения от 2 до 36 включительно. Например:
echo base_convert ("8", 10, 2); // выведет 1000
echo base_convert ("F", 16, 10); // выведет 15
echo base_convert ("F", 16, 2); // выведет 1111
Функция bindec () - переводит двоичное число в десятичное. Например: echo bindec ("1111"); // выведет 15
Функция decbin () - переводит десятичное число в двоичное. Например: echo decbin ("15"); // выведет 1111
Функция hexdec () - преобразует число из шестнадцатеричной системы в десятичную.
Функция dechex () - преобразует число из десятичной системы в шестнадцатеричную.
Функция octdec () - преобразует число из восьмеричной системы в десятичную.
Функция decoct () - преобразует число из десятичной системы в восьмеричную.