Типы суперглобальных массивов
• $_GLOBALS - содержит ссылку на каждую переменную, доступную в данный момент в глобальной области видимости скрипта. Ключами этого массива являются имена глобальных переменных. Дело в том, что по умолчанию переменные, используемые в функциях, имеют локальную область видимости (т. е. если локальная и внешняя переменные имеют одинаковые названия, то работа с локальной переменной никак не скажется на внешней переменной). Для того чтобы локальную переменную сделать глобальной, ранее было необходимо поместить перед ней ключевое слово giobals. В этом случае доступ к такой переменной был возможен из любой функции. Теперь для этого необходимо воспользоваться суперглобальным массивом $_GLOBALS. Пример:
<?php
$var = 1 0 ;
function get_var()
{
$_GLOBALS["var"] =20;
echo($_GLOBALS["var"]) ;
}
get_var(); // выводит 20, а не 10, т. к. внешняя переменная изменена
?>
• $_SERVER - переменные, установленные Web-сервером либо напрямую связанные с окружением выполнения текущего скрипта.
• $_GET - переменные, передаваемые скрипту методом GET.
• $_POST - переменные, передаваемые скрипту методом POST.
• $_SESSION – переменные, передаваемые скрипту через механизм сессий.
•$_СООК1Е - переменные, передаваемые скрипту через механизм cookies
•$_FILES - параметры файла, передаваемого скрипту методом POST.
• $_ENV - переменные окружения.
•$_REQUEST - переменные, передаваемые скрипту через методы GET, POST И COOKIE. Наличие и порядок включения переменных в этот массив определяются в соответствии С директивой конфигурации PHP variables_order.
|
|
СТРОКИ
Строки являются основными переменными в РНР, они выступают основными посредниками при операциях с файлами и базами данных, с браузерами и серверами.
Строки можно выводить непосредственно в окно браузера, но заимствованные из С функции printf() и sprintf о позволяют осуществить предварительное форматирование строки и чисел.
printf () – выводит результат в окно браузера отличается.
sprintf () – возвращает строку, которую можно сохранить в переменной.
В качестве первого аргумента функция printf () принимает строку формати
рования, а в качестве последующих аргументов — переменные, определяемые строкой форматирования (число не ограничено).
Строка форматирования, помимо обычных символов, может содержать специальные последовательности символов, начинающиеся со знака %, которые
называют определителями преобразования.
Пример:
<?php
printf("Первое число - %d", 26);?>
// Первое число - 26
Определители типа:
· b — целое число, представляемое в двоичном виде;
· с — целое число, представляемое в виде символа с тем же ASCII-кодом;
· d — целое число, представляемое в десятичном виде;
· f — число с плавающей точкой, представляемое в виде десятичной дроби;
|
|
· о — целое число, представляемое в восьмеричном виде;
· s — строка;
· х — целое число, представляемое в шестнадцатеричном виде в нижнем регистре;
· X— целое число, представляемое в шестнадцатеричном виде в верхнем регистре.
Пример:
<?php
$number = 1024;
printf("Двоичное число: %b<br>", $number);
printf("ASCII-эквивалент: %c<br>", $number);
printf("Десятичное число: %d<br>", $number);
printf("Число с плавающей точкой: %f<br>", $number);
printf("Восьмеричное число: %o<br>", $number);
printf("Строковое представление: %s<br>", $number);
printf("Шестнадцатеричное число (нижний регистр): %x<br>", $nuinber);
printf("Шестнаддатеричное число (верхний регистр): %X<br>", $number);
?>
Результат работы скрипта:
Двоичное число: 1011011101011
ASCII-эквивалент: л
Десятичное число: 5867
Число с плавающей точкой: 5867.000000
Восьмеричное число: 13353
Строковое представление: 5867
Шестнадцатеричное число (нижний регистр): 16eb
Шестнадцатеричное число (верхний регистр): 16ЕВ
Функции поиска в строке
1. Substr() - возвращает часть строки. Первый аргумент функции s t r—исходная строка, из которой вырезается текст; второй start— положениев строке, которую нужно вернуть, первого символа (отсчет начинается с нуля); третий length — длина возвращаемой строки в символах. Если третий аргумент не указан, то возвращается вся оставшаяся часть строки.
|
|
2. Strpost() – которая имеет следующий синтаксис: string strpos(string str, string needle[, int offset], функция возвращает позицию в строке str, с которой начинается переданная ей подстрока needle.
3. strrpos () – аналогична функции strpos(), за исключением того, что ищется не первое вхождение подстроки, а последнее.
Функции замены в строке
1. str_repiace () позволяет заменить подстроку в тексте на другую подстроку и имеет следующий синтаксис: string str_replace(string from, string to, string str). Функция заменяет в строке str все вхождения подстроки from на to и возвращает результат.
2. функции семейства trim ()
· it rim() — удаляет из строки начальные пробелы;
· rtrim() — удаляет из строки конечные пробелы;
· trim() —удаляет из строки и начальные, и конечные пробелы.
3. substr_replace() - заменяет в исходной строке одни подстроки на другие и имеет следующий синтаксис: string substr_replace (string str, string replacement,int start[, int length]). Она возвращает строку, в которой часть исходной строки яегот символа с позицией start и длиной length заменяется строкой replacement. Если аргумент длины length не указан, замена проводится до конца строки. Если значение аргумента start положительно, то отсчет выполняется от начала строки str, в противном случае — от конца строки. В случае неотрицательного значения length данный аргумент указывает длину заменяемого фрагмента. Если же length отрицательно, то обозначает количество символов от конца строки str до последнего символа заменяемого фрагмента.
|
|
Работа с датой и временем
Функции:
Time() - возвращает количество секунд, прошедших с 0:00:00 1 января 1970 г. Такой формат является общепринятым для UNIX-подобных операционных систем, позволяет хранить дату в одной целочисленной переменной и легко выполнять операции сложения и вычитания, не заботясь о числе дней в месяце и високосных годах.
Microtime(), возвращающая текущее время в микросекундах.
mktime () – предназначена для формирования произвольной временной метки.
синтаксис:
int mktime([int hour
[, int minute
[, int second
[, int month
[, int day
[, int year
[, i n t is_dst]]]]]]])
Все принимаемые ею аргументы являются необязательными. Если не передан ни один из аргументов, функция вернет текущее время.
getdate () - синтаксис: array getdate([int timestamp]).Через необязательный параметр timestamp функции можно передать время (в секундах с 1 января 1970 г.). В случае отсутствия данного параметра функция работает с текущим временем. В качестве результата работы getdate () возвращает ассоциативный массив, содержащий ключи.
date() - позволяет форматировать дату и имеет следующий синтаксис: string date(string format [, int timestamp]). Необязательный параметр timestamp позволяет задать время (в секундах с 1 января 1970 г.). При его отсутствии функция возвращает текущее время. Параметр format определяет строку форматирования, в которой символы интерпретируются.
Символы форматирования функции date()
№п/п | Символ | Описание | Пример возвращае- мого значения |
1. | а | Ante meridiem или Post meridiem в нижнем регистре | am или рт |
2. | А | Ante meridiem или Post meridiem в верхнем регистре | AM или РМ |
3. | В | Время в стандарте Swatch Internet | ОТ 000 до 999 |
4. | с | Дата в формате ISO-8601 (добавлено в РНР 5) | 2004-02-12Т15:19:21+00:00 |
5. | d | День месяца, 2 цифры с ведущими нулями | ОТ 01 до 31 |
6. | D | Сокращенное наименование дня недели,3 символа | ОТ МОП ДО Sun |
7. | F | Полное название месяца, например January или March | ОТ January до December |
8. | g | Часы в 12-часовом формате без ведущих нулей | От 1 до 12 |
9. | G | Часы в 24-часовом формате без ведущих нулей | ОТ 0 до 23 |
10. | h | Часы в 12-часовом формате с ведущими нулями | От 01 до 12 |
11. | н | Часы в 24-часовом формате с ведущими нулями | ОТ 00 до 23 |
12. | i | Минуты с ведущими нулями | ОТ 00 до 59 |
13. | I | Признак летнего времени | 1, если дата соответствует летнему времени, иначе 0 |
14. | j | День месяца без ведущих нулей | От 1 до 31 |
15. | 1 | Полное наименование дня недели | От Sunday до Saturday |
16. | L | Признак високосного года | 1, если год високосный, иначе 0 |
17. | m | Порядковый номер месяца с ведущими нулями | От 01 до 12 |
18. | M | Сокращенное наименование месяца, 3 символа | От Jan до Dec |
19. | n | Порядковый номер месяца без ведущих нулей | От 1 до 12 |
20. | 0 | Разница со временем по Гринвичу в часах | Например: +0200 |
21. | r | Дата в формате RFC 2822 | Например: Thu, 21 Dec2000 6:01:07+0200 |
22. | s | Секунды с ведущими нулями | От 00 до 59 |
23. | S | Английский суффикс порядкового числительного дня месяца, 2 символа | st, nd, rd или th. Применяется совместно с j |
24. | t | Количество дней в месяце | От 28 до 31 |
25. | т | Временная зона на сервере | Примеры: EST, MDT |
26. | W | Порядковый номер дня недели | От 0 (воскресенье)до 6 (суббота) |
27. | W | Порядковый номер недели года по ISO-8601, первый день недели — понедельник | Например: 42 (42-я неделя года) |
28. | Y | Порядковый номер года, 4 цифры | Примеры:1999, 2003 |
29. | У | Номер года, 2 цифры | Примеры: 99, 03 |
30. | z | Порядковый номер дня в году (нумерация с 0) | От 0 до 365 |
31. | Z | Смещение временной зоны в секундах. Для временных зон западнее UTC это отрицательное число, восточнее UTC — положительное | От -43 200 до 43 200 |
strftime () - синтаксис: string strftime(string format [, int times tamp]). Необязательный параметр timestamp позволяет задать время (в секундах с 1 января 1970 г.). При его отсутствии функция возвращает текущее время.
Параметр format определяет строку форматирования
· %а — сокращенное название дня недели в текущей локали;
· %А— полное название дня недели в текущей локали;
· %b — сокращенное название месяца недели в текущей локали;
· %в — полное название месяца недели в текущей локали;
· %с — предпочтительный формат даты и времени в текущей локали;
· %C— столетие (год, деленный на 100 и округленный до целого, от 00 до 99);
· %d — день месяца в виде десятичного числа (от 01 до 31);
· %D — аналогично %m/%d/%y;
· %е — день месяца в виде десятичного числа, если это одна цифра, то перед ней добавляется пробел (от 1 до 31);
· %g — подобно %G, но без столетия;
· %G — год, четырехзначное число, соответствующее номеру недели по ISO. Аналогично %Y, за исключением того, что если номер недели по ISO соответствует предыдущему или следующему году, используется соответствующий год;
· %h — аналогично %ь;
· %H — номер часа от 00 до 23;
· % I — номер часа от 01 до 12;
· %j — номер дня в году (от 001 до 366);
· %m— номер месяца (от 01 до 12);
· %M — минуты;
· %n — символ \п;
· %р — am или рт, или соответствующие строки в текущей локали;
· %r — время в формате a.m. или p.m.;
· %R—время в 24-часовом формате;
· %s — секунды;
· %t — символ табуляции (\t);
· %T — текущее время, аналогично %н: %М: %s;
· %u — номер дня недели от 1 до 7, где 1 соответствует понедельнику;
· %U — порядковый номер недели в текущем году. Первым днем первой недели в году считается первое воскресенье года;
· %v — порядковый номер недели в году по стандарту ISO-8601 от 01 до 53, где 1 соответствует первой неделе в году, в которой, как минимум, 4 дня принадлежат этому году. Первым днем недели считается понедельник. (Используйте %G or %g для определения соответствующего года.);
· %w— порядковый номер недели в текущем году. Первым днем первой недели в году считается первый понедельник года;
· %W — номер дня недели, 0 соответствует воскресенью;
· %х — предпочтительный формат даты без времени в текущей локали;
· %х — предпочтительный формат времени без даты в текущей локали;
· %у — год без столетия (от 00 до 99);
· %Y — год, включая столетие;
· %z— временная зона в виде смещения, аббревиатуры или полного наименования;
· %Z — символ %.
Пример: вывести список дней месяца, выходные дни в котором подсвечены красным цветом и жирным стилем
<?php
// Декабрь 2004 года
$text = "01.12.2004";
$hour = 0;
$minute = 0;
$second = 0;
$month = substr($text,3, 2) ;
$days - substr($text,0,2);
$year = substr($text,6, 4);
$timesec = mktime($hour, $minute, $second, $month, $days, $year);
for($i = 0; $i < date("t",$timesec); ++$i)
{
$timesec = mktime($hour, $minute, $second, $month, $days + $i, $year);
if(date("D", $timesec) == "Sun" ||
date("D", $timesec) == "Sat")
{
echo "<font color=red>".{date("d.m.Y", $timesec))."</font><br>";
}
else
{
echo "<font color=black>".(date("d.m.Y", $timesec))."</font><br>";
?>
Дата добавления: 2018-04-05; просмотров: 214; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!