Типы суперглобальных массивов



• $_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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!