программирование, создание программ, учебник Delphi, учебник по программированию, бейсек, делфи, си, паскаль
 
 
 

 

Дата и время

time
Получение времени в секундах (UNIX timestamp)
int time(void);
Возвращаемое значение равняется числу секунд, прошедших с момента начала «Эпохи Unix» (1 января, 1970, 00:00:00 GMT). Этот формат называется «UNIX timestamp».
echo time(); // выводит, например: 987972956
См. также date().
microtime
Получение в строке текущей метки времени «UNIX timestamp»
string microtime(void);
Возвращает строку формата «msec sec», где sec — текущее время, измеренное в целых секундах с момента начала «Эпохи Unix » (0:00:00, 1 января, 1970 GMT), a msec — это микросекундная часть. Эта функция доступна только на системах, имеющих системную функцию gettimeofday().
echo microtime(); // выводит, например
0.85738800 98772251
См. также time().
getdate
Получение даты и времени в массиве array getdate (Int timestamp)
Возвращает ассоциативный массив, содержащий информацию о дате и времени, полученную в целочисленном аргументе timestamp, с разделением на следующие элементы:

  • «seconds» — секунды;
  • «minutes» - минуты;
  • «hours» - часы;
  • «mday» — день месяца;
  • «wday» — день недели, числовой;
  • «топ» — месяц, числовой;
  • «year» — год, числовой;
  • «yday» — день в году, числовой; например: 327;
  • «weekday» — день недели, текстовый, полный; например: «Friday»;
  • «month» — месяц, текстовый, полный; например: «January»;
  • 0 — «UNIX timestamp», полученный аргумент.

 print_r (getdate (time())),
Выводит следующее:
Array (
[seconds] => 50
[minutes] => 55
[hours] => 13
[mday] => 16
[wday] => 0
[mon] => 4 >
[year] => 2008
[yday] => 299
[weekday] => Sunday
[month] => Apn 1
[0] => 987414950 )
localtime
Получение времени/даты в массиве
array localtime ([int timestamp [, bool is_associative]])
Первый аргумент функции timestamp — метка времени UNIX, если он не указывается, то используется текущее время. Если второй аргумент (is_associative) равен 0 (это же значение используется по умолчанию), то возвращаемый массив будет численно индексирован; в противном случае возвращается ассоциативный массив, где элементы имеют следующее значение:
([1]). «tm_sec» — секунды;
([2]). «tmjrnn» — минуты;
([3]). «tm_hour» — часы;
([4]). «tmjnday» — день месяца;
([5]). «tmjnon» — месяц в году;
([6]). «tm_year» — год (не совместимый с 2000);
([7]). «tm_wday» — день недели;
([8]). «tm_yday» — день в году;
([9]). «tm_isdst» — активен ли переход на летнее время.
 
gettimeofday
Получение даты системным вызовом array gettimeofday (void)
Возвращает ассоциативный массив, содержащий дату, возвращенную системным вызовом. Функция является интерфейсом системной функции gettimeofday(2). Массив содержит следующие элементы:

  • «sec» — секунды:
  • «usec» — микросекунды;
  • «minuteswest» — смещение к западу от Гринвича, в минутах;
  • «dsttime» — тин dst коррекции (переход на летнее время).

checkdate
Проверка даты на соответствие григорианскому календарю
int checkdate (int month, int day, int year)
Возвращает TRUE, если дата, указанная как «month, day, year» («месяц», «число», «год»), допустима, иначе возвращает FALSE. При проверке принимаются в расчет:

  • Год (year) находится в пределах от 1 до 32 767 включительно.
  • Месяц (month) находится в пределах от 1 до 12 включительно.
  • День Б месяце (day) находится в пределах, допустимых для соответствующего месяца month (от 1 до 28-31). Високосные года при этом также принимаются в расчет.

date
Получение даты в форматированной строке
string date (string format [, int timestamp])
Возвращает строковое значение даты и времени, извлеченное из упакованного в целочисленном аргументе значения timestamp. (Если аргумент timestamp не указан, то используются текущие дата и время.)
При этом возвращаемая строка форматируется согласно указанному в строковом аргументе format значению, которое может состоять из следующих символов, заменяемых на временные компоненты:

  • s — секунды, от «00» до «59»;
  • i — минуты, от «00» до «59»;
  • g — часы, 12-часовой формат без нулей, от «1» до «12»;
  • 6 — часы, 24-часовой формат без нулей, от «О» до «23»;
  • h — часы, 12-часовой формат, от «01» до «12»;
  • Н — часы, 24-часовой формат, от «00» до «23»;
  • а — «до» или «после» полудня: «am» или «рт»;
  • А — «До» или «После» полудня: «AM» или «РМ»;
  • d — день месяца (2 цифры с нулями), от «01» до «31»;
  • j — день месяца (1-2 цифры без пулей), от «1» до «31»;
  • S — англоязычный суффикс числа из двух букв, например: «th», «nd»;
  • l (маленькая 'L') — название дня недели по-английски; например: «Friday»;
  • D — трехбуквенное английское сокращение дня недели; например: «Fri»;
  • w — порядковое число дня в неделе, от «О» (воскресенье) до «6» (суббота);
  • z — порядковое число дня в году, от «О» до «365»;
  • т — месяц (2 цифры с нулями), от «01» до «12»;
  • п — месяц (1-2 цифры без нулей), от «1» до «12»;
  • F — английское название месяца, например: «January»;
  • М — трехбуквенное английское сокращение месяца, например: «Jan»;
  • t — число дней в указанном месяце, от «28» до «31»;
  • Y — год, 4 цифры; например: «1999»;
  • у — год, 2 цифры; например: «99»;
  • I (большая i) — «1», если действует переход на «летнее время», иначе «О»;
  • L — «О», если год не високосный, или «1», в противном случае;
  • В — «Swatch Internet time»;
  • Т — временная зона компьютера, например: «MDT» (доступна не всегда);
  • U — целое число секунд, прошедших с момента начала эпохи UNIX (доступна не всегда);
  • Z — смешение временной зоны в секундах (от «-43200» до «43200»).

Все остальные символы в строковом аргументе format возвращаются в результирующей строке «как есть». Формат «Z» всегда возвращает «О» при использовании с функцией gmdate().
print (date ("1 dS of F Y h.i.s A"));
//выводит: Monday 21th
of April 2007 01:33:43 PM
Дата и время 141
print ("1-е Июля. 2000 года - это: " .
date ("I". mktime(0.0.0,7.1.2000))).
//выводит: 1-е Июля.
2222 года - это- Saturday
Stomorrow = mktime (O.O.O.dateC'm")
.date("d")+l.date("Y")).
Slastmonth = mktime
(0.0.0.date("m")-l.date("d").
dateC'Y")); Snextyear = mktime
(O.O.O.dateC'm"), dateC'd").
date("Y")+l):
Для форматирования дат в других языках используйте функции setlocale() и strftime().
См. также: gmdate() и mktime().
gmdate
Аналог функции date() для времени GMT
string gmdate (string format, int timestamp)
Функция подобна date(), за исключением того, что возвращается время по Гринвичу (Greenwich Mean Time — GMT). Например, при запуске в Финляндии (GMT +0200) первая строка напечатает «Jan 01 1998 00:00:00», а вторая: «Dec 31 1997 22:00:00».
echo date ("К d Y H:i.s". mktime (0.0.0.1.1.1998)):
echo gmdate ("M d Y H.i s". mktime (0.0.0.1.1.1998)).
См. также: date(), mktime() и gmmktime().
strftime
Получение форматированной строки времени с использованием локальных установок
string strftime (string format [, int timestamp])
Возвращает строку согласно формату, указанному в аргументе format, для указанной в аргументе timestamp метки времени (если метка времени не указывается, то используется текущее время). Язык, на котором выводятся названия месяцев и дней, устанавливается функцией set!оса!е(). В строке формата распознаются следующие спецификаторы:

  • %а — сокращение дня недели в языке по умолчанию; например, «Wed»;
  • %А — полное название дня недели в языке по умолчанию; например, «Wednesday»;
  • %b - сокращение названия месяца в языке по умолчанию; например, «Apr»;
  • %В — полное название месяца в языке по умолчанию; например, «April»;
  • %с — формат латы времени в установках по умолчанию; например, «04/18/00 13:44:17»;
  • £С — номер века (год, деленный на 100 и без дробной части, от 00 до 99);
  • %d — число месяца (от 00 до 31);
  • %0 — эквивалент #m/£d/£y;
  • %е — число месяца (вместо незначащего нуля ставится пробел), от « 1» до «31»;
  • %h — аналог Яb;
  • %H— час в 24-часовом счислении (от 00 до 23);
  • %I — час в 12-часовом счислении (от 01 до 12);
  • %j — номер дня в году (от 001 до 366);
  • %т — номер месяца (от 01 до 12);
  • М - минуты;
  • %n — символ перехода на новую строку;
  • %р — «am» или «рт» (до или после полудня), в зависимости от времени;
  • %г — время в 12-часовом формате (a.m. или p.m.);
  • %R — время в 24-часовом формате;
  • %S — секунды;
  • %t — символ табуляции;
  • %Т — текущее время, эквивалентно #H:#M:#S;
  • %и — число дня в неделе (от 1 до 7), где понедельник - 1;
  • %11 — номер недели в году (первое воскресенье года считается первым днем первой недели);
  • %V — номер недели в году по стандарту ISO 8601:1988 (от 01 до 53), где первая неделя — та, в которой насчитывается более 3 дней в текущем году;
  • %U — номер недели в году, начиная с первого понедельника, как первого дня первой недели;
  • %w — номер дня в неделе (от 0 до 6). Воскресенье считается нулем;
  • %х — представление даты в системном формате без указания времени; например, «04/19/01»;
  • %Х — представление времени в системном формате без указания даты; например, «14:06:26»;
  • %у — год без цифр века (от 00 до 99);
  • %Y — полное число года;
  • %Z — зона времени, имя или сокращение, например «Московское время (лето)»;
  • %% — символ «%».

setlocale ("LCJIME". "С"): print (strftime ("%/\ in Finnish is ")). setlocale ("LCJIME". "fi_FI"): print (strftime ("3LA. in French ")): setlocale ("LCJIME". "fr_CA"); print (strftime ("$A и in German ")); setlocale ("LCJ-IME". "de_DE"). print (strftime ("ЛАЛп")):
Этот пример будет работать, если ваша система поддерживает соответствующие национальные установки. И не забывайте, не все системы поддерживают весь набор спецификаторов формата.
См. также: setlocale(), mktime() и «Open Group specification of strftime()» (http://www.opengroup.org/onlinepubs/7908799/xsh/strftime.htmL).
gmstrftime
Форматирование локальных времени/даты
string gmstrftime (string format, int timestamp)
Действие функции подобно strftimeO с тем отличием, что возвращается время по Гринвичу (GMT). Например, при запуске в зоне (GMT -0500) первая строка будет следующей: «Dec 31 1998 20:00:00», а вторая: «Jan 01 1999 01:00:00».
setlocale ('LCJIME'. 'en_US').
echo strftime ("%b Ы *Y *H:ZM:ZS".
mktime (20.0.0.12 31.98)),"\n'  
. echo gmstrftime ("*b *d *Y XOM-XS". mktime
(20.C.0.12 31.98))."\n";
См. также strftime().
mktime
Преобразование времени в целочисленный формат
int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
Аргументы функции должны быть указаны в порядке: «час, минута, секунда, месяц, день, год, коррекция_времени>>, что часто путают. Не указывать можно только последний аргумент is_dst (при неуказании большего числа аргументов справа вместо них будут подставляться значения текущего времени). Функция возвращает метку времени «Unix timestamp», соответствующую указанным дате и времени (это целое число секунд, прошедших с 1 января 1970 года).
Аргумент is_dst, указывает, осуществлен ли переход на летнее время (1) или нет (0); если это неизвестно, то аргумент — (-1).
Функция полезна при вычислении дат и их проверке, так как она автоматически корректирует время при неправильном указании временных границ. Например, все следующие строки напечатают: «Jan-01-1998».
echo date ("M-d-Y". mktime (0.0.0.12,32.1997)):
echo date ("M-d-Y". mktime (0.0.0.13.1.1997)).
echo date ("M-d-Y". mktime (0.0.0.1.1.1998)):
echo date ("M-d-Y". mktime (0.0.0.1.1.98)):
Год может быть указан двумя (0-69 означают 2000-2069 и 70-99 означают 1970-1999) или четырьмя цифрами.
Последний день месяца может быть указан как нулевой следующего (но не как -1). Следующие строки выведут: «Последнее число Февраля 2000: 29».
Slastday • mktime (0.0.0.3.0.2000).
echo strftime ("Последнее число Февраля
2000: И". Slastday).
Slastday - mktime (0 0.0.4.-31.2000):
echo strftime ("Последнее число Февраля
2000: Id", Slastday):
Даты, в которых год, месяц или день равны нулю, считаются недопустимыми (в таком случае, это будет дата: 30.11.1999).
См. также: date ()и tirae().
gmmktime
Аналог функции time для времени GMT
int gmmktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
Функция подобна mktime(), за исключением того, что передаваемые параметры представляют время по Гринвичу (GMT).
См. также gmdate().
strtotime
Лексическое преобразование строки времени в «UNIX timestamp» int strtotime (string time [, int now])
Функция ожидает получить дату time в англоязычном формате, чтобы преобразовать ее в целочисленный формат «UNIX timestamp».
echo strtotime ("now") . "\n";
echo strtotime ("10 September 2000") "\n";
echo strtotime ("+1 day") . "\n"
echo strtotime ("+1 week") . "\n";
echo strtotime ("+1 week 2 days 4 hours 2 seconds") .
"\n":

Строковые функции
Вывод
print
Вывод строки, значения переменной или выражения
print (string arg)
Выводит аргумент arg, в качестве которого может быть указана переменная или выражение.
См. также: echo(), printf() и flush().
echo
Вывод одного или нескольких значений
echo (string argl, string [argn]...)
Выводит значения перечисленных параметров.
EchoO — это фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.
echo "Hello World":
echo "Перенос на следущую строку.
имеющийся в коде, сохраняется
и используется при выводе".
" чтобы избежать этого используйте ".
"оператор конкатенации":
echo "This spans\nmultiple lines.
The newlines will be\noutput   as well.":
См. также: print(), printf() и flush().
printf
Вывод отформатированной строки
int printf (string format [, mixed args...])
Выводит строку согласно формату, указанному в строковом аргументе format, который рассмотрен в описании функции sprintf().
См. также: print(), sprintf(), sscanf(), fscanf() и flush().
sprintf
Форматирование строки с подстановкой переменных
string sprintf (string format [, mixed args...])
Возвращает строку, форматированную по шаблону, содержащемуся в строковом аргументе format, в которую, при указании дополнительных аргументов args, могут быть включены значения переменных и выражений.
Строка форматирования может состоять из неопределенно длинной последовательности символов и директив: ординарных символов (это любые символы, за исключением «%»), которые просто копируются в возвращаемую строку, и «спецификаций отображения», для каждой из которых в функции должен быть указан соответствующий параметрт касается как функции sprintf(), так и printf().
Каждый спецификатор состоит из знака процента (%), за которым следуют один или более следующих элементов в указанном порядке.

  1. Необязательный спецификатор заполнителя, определяющий, каким символом будут дополняться строки до необходимой длины. Это может быть пробел или нулевой символ. По умолчанию используется пробел. Альтернативные символы-заполнители могут быть >к.') юны, если перед ними ставится знак одинарной кавычки ('). Например, printf CTz5d",12); // выведет: zzz!2.
  2. Необязательный спецификатор выравнивания. Если он не указывается, ч о значение будет выравниваться по правой стороне, если он указан (как символ «а»), то по левой (действует не всегда).
  3. Необязательный спецификатор ширины значения указывает минимальное число символов, которое должно выводиться в значении
  4. Необязательный спецификатор точности определяет, сколько цифр после запятой должно выводиться для дробных чисел (для чисел других типов не действует). (Для форматирования чисел также полезна функция number_format().)
  5. Спецификатор типа — сообщает, в качестве какого типа должен рассматриваться аргумент. Возможные типы:
  • X — сам знак процента;
  • b — целочисленный аргумент в двоичном формате;
  • с — выводит символ, целочисленный ASCII-код которого указан;
  • d — целочисленный аргумент в десятичном формате;
  • f — дробное число в формате числа с плавающей точкой;
  • о — целочисленный аргумент в восьмеричном формате;
  • s — аргумент выводится как строка;
  • х — целочисленный аргумент в шестнадцатеричном формате (с маленькими буквами);
  • X — целочисленный аргумент в шестнадцатеричном формате (с большими буквами).

См. также: printf(), sscanf(), fscanf() и number_format().
Sisodate = spnntf ("M4d-M2d-M2d". Syear. $month. $day);
$formatted = sprintf (%01.4f. 68 75 + 54.35);
sscanf
Интерпретация строки согласно формату и занесение значений в переменные
mixed sscanf (string str. string format [, string varl...])
Функция является противоположностью printf(). Она интерпретирует строку str согласно формату format, аналогично спецификации printf(). При указании только двух аргументов полученные значения возвращаются в массиве.
// получение серийного номера
Ssenal = sscanf
("SN/235-0001".nSN/*3d-«4d"):
echo Sseria1[0]*lGOOO+$senal[l];
// выводит: 2350001
// и даты изготовления
Smandate = "January 01 2000":
list($month. $day. Syear) =
sscanf(Smandate."%s Id %d"):
echo "Дата: Syear-"
substr($month.0.3)."-$day\n".
// выводит: 2000-Jan-Ol
При указании дополнительных необязательных параметров (их следует передавать по ссылке) функция возвращает их число. Те переменные, которые не получают значений, в возвращаемом значении не учитываются.
// генерировать XML запись из строки
Sauth = "765\tLewis Carroll":
$n = sscanf (Sauth. "*d\«s Zs"
. &$id. &$first. &$last);
echo "<author id='$id'>
<f i rstname>$fi rst</firstname>
<surnarne>$last</surname>
</author>\n";
См. также: fscanf(), printf() и sprintf().
bin2hex
Преобразование символьных данных в шестнадцатеричный вид
string bin2bex (string str)
Возвращает строковое шестнадцатеричнос представление символьно-байтовых данных, содержащихся в строке str. Конвертация производится нобайтово, старший полубайт указывается первым.
echo Din2hex("AaBblM"): // выводит. 4161426286а6
chr
Получение символа с указанным кодом ascii
string chr (int ascii)
$str = cnr (27). /* добавляет esc-символ в конец строки $str */ $str = sprintf ("Строка завершается esc-символои. 3tc". 27); Функция дополняет ord().
См. также sprintf ()с форматом %с.
ord
Получение ascii кода символа
int ord (string string)
Возвращает ASCII код первого символа строки string. Эта функция дополняет chr ().
if (ord ($str) == 10) { // символ «\n»
echo "Первый символ строки \$str
- переход на новую строку.\n":
}
См. также chr ().
substr
Получение части строки
string substr (string string, int start [, int length]) Возвращает часть строки string от позиции start длиной length.
Если аргумент start положительный, то возвращается часть строки string начиная с позиции start, с отсчетом от нуля.
Irest = substr ("abcdef". 1): // возвращает "bcdef"
Srest = substr ("abcdef". 1.3); // возвращает "bed"
Если аргумент start отрицательный, то отсчет производится от конца строки string (тогда -1 — это последний символ).
Srest - substr ("abcdef". -1). // возвращает "f"
$rest = substr ("abcdef". -2); // возвращает "ef"
Jrest = substr ("abcdef". -3. 1); // возвращает "d"
Если указывается необязательный аргумент length и он положительный, то это определяет длину возвращаемой строки. Если он отрицательный, то тогда он указывает на позицию последнего возвращаемого символа от конца исходной строки (и тогда -1 — это предпоследний символ).
$rest = substr ("abcdef". 1. -1). // возвращает "bcde"
См. также: strrchr(), substr_count() и ereg().
str_repeat
Получение строки из повторяющегося значения
string str_repeat (string input, int multiplier) .
echo str_repeat ("-=". 3). // выведет "-=-=-=".
str_pad
Дополнение строки другой строкой до определенной длины
string str_pad (string input, int padjength [, string pad_string [, int pad_type]])
Аргумент input содержит исходную строку. Аргумент pad_length указывает, какую длину должна иметь возвращаемая строка, и если он имеет значение меньшее, чем исходная строка, никакого добавления не производится.
Необязательный аргумент pad_string указывает, какую строку использовать в качестве заполнителя; по умолчанию используются пробелы. Необязательным аргументом pad_type могут быть значения: STR_ PADJtIGHT (по умолчанию), STR_PAD_LEFT или STR_PAD_BOTH, указывающие соответственно, что строку следует дополнять справа, слева или с обеих сторон.
Sinput = "Aaaaa";
print str_pad(Sinput. 10);
// возвращает "Aaaaa
print str_pad($input. 10. "-="
. STR_PAD_LEFT).
// возвращает "---=-Ааааа"
print str_pad($input. 10
. "_". STR_PAD_BOTH).
// возвращает "_Ааааа___"
chunk_split
Фрагментирование строки
string chunk_split (string string [, int chunklen [, string end]])
Возвращает строку, в которой между каждым блоком строки string длиной chunklen (по умолчанию 76) вставляется последовательность разделителей end (по умолчанию: «\г\п»). Это может быть полезно при конвертировании в формат «base64» для соответствия правилам RFC 2045.
# форматировать Sdata. используя семантику
RFC 2045 $new_stnng = chunk_split
(base64_encode($data)):
Эта функция работает значительно быстрее, чем ereg_replace().
См. также wordwrap().
strtok
Получение строки по частям
string strtok (string argl, string arg2)
При первом вызове функция принимает два аргумента: исходную строку argl и разделитель агд2. При каждом последующем вызове аргумент argl указывать не следует, иначе будет возвращаться первая часть строки. При каждом вызове (включая первый) возвращается часть строки до разделителя агд2, при каждом последующем -следующая часть до следующего разделителя, и так до конца строки. Когда возвращать больше нечего, возвращается значение FALSE. Заметьте, если часть строки состоит из 0 (или это пустая строка), то это будет воспринято как значение FALSE.
$stnng = "This is an example№string№ Aaa".
$tok = strtok ($stnng."
"); while ($tok) { echo "'$tok' ":
$tok = strtok (" №"): }
// выводит 'This' 'is' 'an' 'example' 'string'
Стоит отметить, что в качестве разделителей указывается последовательность символов, каждый из которых в отдельности может являться разделителем, но когда в строке последовательно встречаются два и более разделителей, функция возвращает пустую строку (что может прекратить цикл обработки, как в примере).
См. также: split() и explode().
explode
Разделение строки в массив
array explode (string separator, string string [, int limit])
Возвращает массив строк, каждая из которых соответствует фрагменту исходной строки string, находящемуся между разделителями, указанными аргументом separator. При указании аргумента limit возвращаемый массив будет содержать не более указанного limit числа элементов с оставшейся неразделенной частью строки в последнем элементе.
$АА - "часть! часть? часть.З часть4";
$аа = explode (" ". $АА).
// теперь аа = Arrays [0] => часть!. [1] ~> часть2.
// Ш -> частьЗ. [31 -> ", [4j => часть4 )
См. также: split() и implode().
implode
Объединение элементов массива в строку
string implode (string glue, array pieces)
Возвращает строку, содержащую последовательно все элементы массива pieces, между которыми вставляется значение строкового аргумента glue.
$colon_separated= implode (" ". lady);
См. также: explode(), join() и split().
join
Синоним функции implode()
string join (string glue, array pieces)
См. также: explode(), implode() и split().
setlocale
Установка региональных настроек
string setlocale (string category, string locale)
Устанавливает указанную аргументом category региональную установку для строковых преобразований, которая может принадлежать к одной из следующих категорий:

  • LC ALL — для всех установок (например: "Russian _Russia.l251");
  • LC_COLLATE — сравнение строк (пока не реализовано в РНР);
  • LC_CTYPE — классификация и преобразование символов, например strtoupper();
  • LC_MONETARY — для функции localeconv() (пока не реализовано в РНР):
  • LC_ NUMERIC — десятичный разделитель чисел;
  • LC_TIME — форматирование даты и времени функцией strftime().
В аргументе locale указывается то значение настройки, которое необходимо установить. При передаче пустой строки «» региональные установки будут установлены в соответствии с имеющимися в системе по умолчанию. Если

передается ноль (строковый или числовой), региональные настройки не изменяются, а возвращается текущее значение установки.
Функция возвращает новое установленное значение настройки или FALSE при ошибке. Если указывается неправильное значение категории, выдается предупреждение.
Вычисления строковых сумм и хешей
strlen
Вычисление длины строки
int strlen (string str)
count_chars
Получение информации о символах строки
mixed count_chars (string string [. mode])
Вычисляет частоту встречаемости каждого байта (0-255) в строке string и возвращает в массиве результат согласно аргументу mode:

  • 0 — массив с байтами в качестве индексов и частотой в качестве значений элементов массива (по умолчанию, если аргумент mode не указан);
  • 1 — то же, что и 0, но отсутствующие в строке string байты не возвращаются;
  • 2 — то же, что и 0, но возвращаются только тс байты, которые отсутствуют;
  • 3 - возвращается строка, состоящая из всех обнаруженных символов;
  • 4 - возвращается строка, состоящая из всех отсутствующих символов.

сгс32
Получение полиминала строки сгс32 int crc32 (string str)
Вычисляет 32-битовый циклический код избыточности строки str, обычно используемый для проверки целостности переданных данных.
См. также md5().
md5
Вычисление строки-хеша MD5 string md5 (string str)
Возвращает вычисленный строковый MD5-xem строки str, используя «RSA Data Security, Inc. MD5 Message-Digest Algorithm», описанный в файле RFC1321 (http://www.faqs.org/rfcs/rfcl321.html). Часто используется для генерации уникальных идентификаторов. Возвращается 32-значнос число, состоящее из шсстнадцатеричных цифр.
См. также сгс32().
crypt
Симметричное шифрование
string crypt (string str [, string salt])
Функция является реализацией имеющегося в Unix алгоритма шифрования DES1. Аргумент str — это шифруемая строка, a salt — начальное (двухбайтовое)2 основание шифра (если оно не указано, то оно случайным образом генерируется). Функция рассмотрена в справочной системе Unix (man). Некоторые системы заменяют стандартный метод шифрования DES методом MD5.
В системах, поддерживающих несколько алгоритмов шифрования, следующие константы устанавливаются равными 1 или 0, в зависимости от того, поддерживается данный алгоритм или нет:

  • CRYPT_STD_DES — стандартное 2-байтовое DES-шифрование (SALT-2);
  • CRYPT_EXT_DES — расширенное 9-байтовое DES-шифрование (SALT=9);
  • CRYPT_MD5 — 12-байтовое МО5-шифрование (SALT начинается с$1$);
  • CRYPT_BLOWFISH — расширенное 12-байтовое DES-шифрование (SALT начинается с $2$).

Так как функция использует односторонний алгоритм шифрования, функции дешифрования не имеется.
См. также md5().
metaphone
Вычисление метафон-хеша string metaphone (string str)
Функция, сходная по действию с soundex(), вычисляет код произношения слова, переданного в строке str, но с повышенной точностью вычислений, так как использует правила произношения английского языка. Возвращаемое строковое значение может быть переменной длины.
Алгоритм функции разработан Лоуренсом Филипсом (Lawrence Philips, lphilips@verity.com) и описан в книге: «Practical Algorithms for Programmers», Binstock & Rex, Addison Wesley, 1995.
soundex
Вычисление хеша сходности произношения
string soundex (string str)
Функция может быть использована для проверки правописания, когда приблизительно известно как звучит слово, но не известно, как оно пишется, и имеется словарь (база данных), относительно которого возможно осуществлять проверку. Возвращается строка из 4 символов: первая буква слова и 3 цифры.
Алгоритм функции описан Дональдом Кнауфом (Donald Knuth) в книге «The Art of Computer Programming, vol. 3: Sorting and Searching», Addison-Wesley (1973).
sOundex ("Euler") == sOundex ("tilery") == 'E460';
sOundex ("Gauss") == sOundex ("GhOsh") =•* 'G200';
sOundex ("Hilbert") " sOundex ("HenlbrOnn') "-
'H416'. soundex ("Knuth") — sOundex ("Kant") =- 'K530':
sOundex ("Lloyd") == sOundex ("Ladd") -= 'L300'; sOundex
("Lukasiewicz") == sOundex ("Lissajcus") -= '1222'  :
Сравнение
strcmp
Сравнение строк
int strcmp (string strl. string str2)
Возвращает < 0, если strl «меньше» str2; > 0 если strl «больше» str2, и (), если они равны. Регистр в строках учитывается.
См. также: ereg(), strcasecmp(), substr(), stristr(), strncasecmp(), strncmp() и strstr().
strncmp
Сравнение начала строк
Int strncmp (string strl, string str2, int Ten)
Функция отличается от strcmp() тем, что строки strl и str2 сравниваются не целиком, а только их первые len байтов. Если len меньше, чем длина меньшей из строк, они сравниваются целиком. Возвраща-ет <0, если strl «меньше» str2; >0 если strl «больше» str2, и 0, если они равны. Регистр в строках учитывается.
См. также: ereg(), strncasecmp(), strcasecmp(), substr(), stristr(), strcmp() и strstr().
strcasecmp
Сравнение строк без учета регистра
int strcasecmp (string strl, string str2)
Возвращает < 0, если strl «меньше» str2; > 0 если strl «больше» str2, и (), если они равны. Регистр символов строк не учитывается.
$varl = "HellO"; $var2 = "hello".
if (fstrcasecmp
(Svarl. $var2))
{ echO 'Svarl == $var2
при сравнении строк без учета регистра'.
}
См. также: ereg(), strcrap(), substr(), stristr(), strncasecmp() и strstr().
strncasecmp
Сравнение начал строк без учета регистра
int strncasecmp (string strl, string str2, int len)
Функция является комбинацией strcasecmp() и strncmp().
См. также: ereg(), strcasecmp(), strcmp(), substr(), stristr() и strstr().
strnatcmp
«Естественное» сравнение строк
int strnatcmp (string strl, string str2)
Функция имитирует такое сравнение строк, какое использовал бы человек, как показано ниже:
$arrl = $агг2 = array
("img!2 png"."imgl0.png"."img2.png"."imgl.png");
echO "Обычная сортировка \n";
usOrt($arrl."strcmp").
print_r($arrl).
echO "\n«Естественная»
сортировка \n":
usOrt($arr2."strnatcmp");
print_r($arr2);
При запуске будет выдано следующее:
Обычная сортировка
Array
(
[0] => imgl.png
[1] => imglO.png
[2] => img!2 png
[3] => img2.png )
«Естественная» сортировка
Array (
[0] => imgl.png
[1] => img2.png
[2] => imglO.png
[3] => img!2.png )
Для более подробной информации смотрите страницу Мартина Пула «Natural Order String COmparisOn» (http://www.linuxcare.cOm.au/ prOjects/natsOrt/).
Во всем остальном функция ведет себя подобно всем остальным функциям сравнения: возвращает < 0, если strl «меньше» str2; > 0 если strl «больше» str2, и 0, если они равны. При этом регистр сравниваемых строк учитывается.
См. также: егед(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsOrt() и natcasesort().
strnatcasecmp
«Естественное» сравнение строк без учета регистра int strnatcasecmp (string strl, string str2)
Дополнение функции strcmp(), которое игнорирует при сравнении регистр.
См. также: егед(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcmp() и strstr().
simila_r text
Определение схожести двух строк
int similar_text (string first, string secOnd [, dOuble percent])
Функция вычисляет схожесть двух строк по алгоритму, описанному Оливером (Oliver [1993]). Но вместо стека (как в псевдокоде Оливера) она использует рекурсивные вызовы. Сложность алгоритма делает функцию медленной, и ее скорость пропорциональна (N3), где N — длина наибольшей строки.
Возвращается число символов, совпавших в обеих строках. При передаче по ссылке третьего необязательного аргумента в нем сохраняется процент совпадения строк.
levenshtein
Определение различия Левенштейна двух строк int levenshtein (string strl, string str2)
int levenshtein (string strl, string str2, int cOst_ins, int cOst_rep, int cOst_del)
int levenshtein (string strl, string str2. function cOst)
«Различие Левенштейна» — это минимальное число символов, которое требовалось бы заменить, вставить или удалить для того, чтобы превратить строку strl в str2. Сложность алгоритма пропорциональна произведению длин строк strl и str2 (это делает функцию более быстродействующей, чем similar_text()).
Первая форма функции возвращает число необходимых операций над символами строк для трансформации strl в str2.
Вторая форма имеет три дополнительных параметра: стоимость операций вставки, замены и удаления, что делает ее более адаптированной для вычисления, но при этом менее быстродействующей. Возвращается интегральный показатель сложности трансформации.
Вариант три, который еще не реализован, позволит указывать функцию, используемую для расчета сложности трансформации. Функция cOst будет вызываться со следующими аргументами:

  • применяемая операция (вставить, изменить, удалить): «I», «R», «D»;
  • фактический символ первой строки;
  • фактический символ второй строки;
  • позиция строки 1;
  • позиция строки 2;
  • оставшаяся длина строки 1;
  • оставшаяся длина строки 2.

Вызываемая функция должна будет возвратить стоимость этой операции.
Если длина одной из строк более 255 символов, функция levenshtein() возвращает -1, но такая длина более чем достаточна.
См. также: sondex(), similar_text() и metaphone().
Поиск
strchr
Поиск первого вхождения символа в строку
string strchr (string haystack, string needle) Функция является синонимом для strstr().
strstr
Нахождение первого вхождения подстроки
string strstr (string haystack, string needle)
Возвращает оставшуюся часть строки haystack, которая начинается с первого фрагмента, указанного в аргументе needle. Если это не удается, то возвращает FALSE. Функция чувствительна к регистру.
Если needle не строка, то тогда значение преобразуется в целое и используется как код искомого символу.
$email = 'ntymail@designmultimedia.com'.
$dOmain = strstr (Semail. '(?').
tdOmain = strstr (Semail. Ord('P')): // можно и так
print SdOmain: // выводит-
@designinultimedia.com
См. также: stristr(), strrchr(), substr() и ereg().
stristr
Аналог strstr, нечувствительный к регистру
string stristr (string haystack, string needle)
Возвращает оставшуюся часть строки haystack, которая начинается с фрагмента, указанного в аргументе needle. Если это не удается, то возвращает FALSE. Функция Нечувствительна к регистру.
Если needle не строка, то тогда его значение преобразуется в целое и используется как код искомого символа.
См. также: strchr(), strrchr(), substr() и ereg().
strrchr
Поиск последнего вхождения подстроки
string strrchr (string haystack, string needle)
Возвращает оставшуюся часть строки haystack, которая начинается с последнего фрагмента, указанного в аргументе needle. Если это не удастся, то возвращает FALSE. Функция чувствительна к регистру.
Если needle не строка, то тогда его значение преобразуется в целое и используется как код искомого символа; если это строка, содержащая более одного символа, то используется первый.
// получить последний каталог в $РАTH
$aiг = substr (strrchr (SPATH. ":"). 1):
// получить все после последнего
перевода строки
$text = "Line IXnLine 2\nLine 3".
$last = substr (strrchr (Stext. 10). 1 ):
См. также: substr(), stristr() и strstr().
strpos
Определение первой позиции фрагмента в строке
int strpOs (string haystack, string needle [. int Offset])
Возвращает численную позицию первого вхождения строки needle в строку haystack. Возвращает FALSE, если вхождение не найдено. Заметьте, что функция возвратит одинаковое значение 0, если строка haystack начинается с фрагмента needle. В примере ниже показан метод обработки случая:
$pOs = strpOs (Smystnng. "b"):
if (SpOs = FALSE) ( // идентичность-
три знака равемс'-..:
// nOt fOund . }
Если аргумент needle — не строка, то тогда его значение преобразуется в целое и используется как код искомого символа.
Необязательный аргумент Offset позволяет указать, с какой позиции строки haystack начинать поиск.
См. также: strrpos(), strrchr(), substr(), stristr() и strstr().
strrpos
Определение последней позиции фрагмента в строке
int strrpos (string haystack, char needle)
Возвращает численную позицию последнего вхождения симиола needle в строку haystack. Возвращает FALSE, если вхождение не найдено. Заметьте, что функция возвратит одинаковое значение 0, если символ является первым в строке и если он в строке не присутствует. В примере ниже показан метод обработки этого случая:
$pos = strrpos ($mystnng. 'b").
it (SpOs = FALSE) { // идентичность-
три знака равенства
// not found . }
Если аргумент needle — не строка, то тогда его значение преобразуется в целое и используется как код искомого символа; если это строка, содержащая более одного символа, то используется первый.
См. также: strpos(), strrchr(), substr(), stristr() и strstr().
substr count
Определение числа вхождений фрагмента в строку
int substr_count (string haystrack, string needle)
Возвращает число фрагментов needle, присутствующих в строке haystrack.
print substr_count("This is a test", "is").
// =    2
strspn
Определение присутствия начальных символов в строке
int strspn (string strl, string str2)
Возвращает длину начального фрагмента строки strl, состоящего полностью из символов, имеющихся в строке str2.
strspn ("42 is ...". "1234567890"). // = 2
См. также strcspn().
strcspn
Определение отсутствия начальных символов в строке int strcspn (string strl, string str2)
Возвращает длину начального фрагмента строки strl, состоящего полностью НЕ из символов, имеющихся в строке str2.
См. также strspn().
Простые манипуляции
Itrim
Удаление начальных пробелов
string Itrim (string str)
Возвращает исходную строку str, из которой удалены начальные пробельные символы (такими символами являются: «\n», «\r», «\t», «\v», «\0» и пробел).
См. также: chop(), rtrim() и tnm().
rtrim
Синоним функции chop()
string rtrim (string str)
$tnimed -- rtrim ;$line).
См. также: trim(), Itrim().
chop
Удаление конечных пробелов
string chop (string str)
Возвращает полученную строку без завершающих пробельных символов, включая переходы на новую строку. (Одноименная функция в Perl, помимо этого, удаляет последний символ строки.)
См. также: trim(), Itrim(), rtrim() и chop().
trim
Удаление начальных и конечных пробелов
string trim (string str)
Возвращает исходную строку str, из которой удалены начальные и конечные пробельные символы (такими символами являются: «\п», «\г>>, «\t», «\v», «\0» и пробел).
См. также: chop(), rtrim() и Itrim().
strrev
Реверс строки
string strrev (string string)
Возвращает строку string «задом наперед».
strtolower
Преобразование символов сгроки в нижний регистр
string strtolower (string str)
Возвращает строку string, в которой все алфавитные буквы делаются маленькими (lowercase). Понятие «алфавитные» определяется локальными установками. Обычно символы кириллицы не конвертируются (или конвертируются неправильно).
$str = "HeLLo World".
$str = strtolower($str);
print $str: # Выводит, hello world
См. также: strtoupper() и ucfirst().

 

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г. Яндекс.Метрика