- •Содержание:
- •Математические функции : Функции округления
- •Математические функции : Случайные числа
- •Математические функции : Минимум и максимум
- •Математические функции : Степенные функции
- •Математические функции : Тригонометрия
- •Математические функции : Функции повышенной точности BCMath
- •Математические функции : Функции GMP. Арифметика
- •Математические функции : Функции GMP. Математика
- •Математические функции : Функции GMP
- •Математические функции : Функции GMP. Значения функции GMP
- •Математические функции : Функции GMP. Бинарные операции
- •Работа с массивами : Создание массива
- •Работа с массивами : Сортировка массивов
- •Работа с массивами : Курсор массива
- •Работа с массивами : Ключи и значения
- •Работа с массивами : Комплексная замена в строке
- •Работа с массивами : Работа с несколькими массивами
- •Работа с массивами : Получение и удаление части массива
- •Работа с массивами : Вставка/удаление элементов
- •Работа с массивами : Переменные и массивы
- •Строковые функции : Функции отрезания пробелов
- •Строковые функции : Поиск в тексте
- •Строковые функции : Функции сравнения
- •Строковые функции : Форматирование и вывод строк
- •Строковые функции : Составление/разбиение строк
- •Строковые функции : Работа с блоками текста
- •Строковые функции : Функции для преобразования символов
- •Строковые функции : Функции изменения регистра
- •Строковые функции : Установка локали (локальных настроек)
- •Строковые функции : Преобразование кодировок
- •Строковые функции : Функции форматных преобразований
- •Строковые функции : Функции URL
- •Строковые функции : Работа с бинарными данными
- •Строковые функции : Строковые суммы и хеш-функции
- •Символические ссылки. Жесткие ссылки
- •Функции даты и времени
- •Логические функции определения типа переменной
- •Функции переменных
- •Функции для работы с функциями
- •Календарные функции
- •Работа с файлами : Открытие файла
- •Работа с файлами : Закрытие файла
- •Работа с файлами : Чтение и запись
- •Работа с файлами : Положение указателя текущей позиции
- •Работа с файлами : Функции для определения типов файлов
- •Работа с файлами : Определение параметров файла
- •Работа с файлами : Функции для работы с именами файлов
- •Работа с файлами : Функции манипулирования целыми файлами
- •Работа с файлами : Другие функции
- •Функции для работы с каталогами : Манипулирование каталогами
- •Функции для работы с каталогами : Работа с записями
- •FTP : Работа с FTP-сервером
- •FTP : Работа файлами
- •Функции IMAP
- •Функции SNMP
- •Функции Vmailmgr
- •Сетевые функции
- •Отслеживание и обработка ошибок : Введение
- •Отслеживание и обработка ошибок : Функции обработки ошибок
- •Управление сессиями : Имя группы сессии
- •Управление сессиями : Идентификатор сессии
- •Управление сессиями : Другие функции
- •Управление сессиями : Обзор обработчиков
- •Управление сессиями : Про сессии и Cookies
- •Работа с WWW : Установка заголовков ответа
- •Работа с WWW : Получение заголовков запроса
- •Работа с WWW : Работа с Cookies
- •Работа с WWW : SSI и функция virtual()
- •Управление выводом : Введение
- •Управление выводом : Функции управления выводом
- •Управление исполнением сценария PHP : Дополнительные функции
- •Почтовые функции
- •Функции запуска программ
- •Функции динамической загрузки
- •Информационные функции
- •База данных MySQL : Работа с базами данных
- •Базы данных MySQL : Обработка результатов запроса
- •PDF-документы : Введение
- •PDF-документы : Открытие документа
- •PDF-документы : Работа с текстом
- •PDF-документы : Установка масштаба и системы координат
- •PDF-документы : Черчение и заполнение фигур
- •PDF-документы : Размещение рисунков
- •PDF-документы : Стиль документа
Функция substr_count() возвращает число фрагментов what, присутствующих в строке where.
echo substr_count("www.spravkaweb.ru", "."); // Выведет 3
strspn
Определяет присутствие начальных символов в строке.
Синтаксис :
int strspn(string str1, string str2)
Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью из символов, которые есть в строке str2.
echo strspn("www.spravkaweb.ru", "abc"); // Выведет 3
strcspn
Определяет отсутствие начальных символов в строке.
Синтаксис :
int strcspn(string str1, string str2)
Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью не из символов, которые есть в строке str2.
Строковые функции : Функции сравнения
strcmp
Сравнивает строки.
Синтаксис :
int strcmp(string str1, string str2)
Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает:
0 - если строки полностью совпадают;
-1 - если строка str1 лексикографически меньше str2; 1 - если, наоборот, str1 "больше" str2.
Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений.
strncmp
Сравнивает начала строк.
Синтаксис :
int strncmp(string str1, string str2, int len)
Эта функция отличается от strcmp() тем, что сравнивает не все слово целиком, а первые len байтов. В случае, если len меньше длины наименьшей из строк, то строки сравниваются целиком.
Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает:
0 - если строки полностью совпадают;
-1 - если строка str1 лексикографически меньше str2; 1 - если, наоборот, str1 "больше" str2.
Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений.
strcasecmp
Сравнивает строки без учета регистра.
Синтаксис :
int strcasecmp(string str1, string str2)
То же самое, что и strcmp(), только при работе не учитывается регистр букв.
$str1 = "Привет!"; $str2 = "привет!";
if(!strcesecmp($str1, $str2))
echo "$str1 == $str2 при сравнении строк без учета регистра";
strncasecmp
Сравнивает начала строк без учета регистра.
Синтаксис :
int strncasecmp(string str1, string str2, int len)
Функция strncasecmp() является комбинацией функций strcasecmp() и strncmp().
strnatcmp
Производит "естественное" сравнение строк.
Синтаксис :
int strnatcmp(string str1, string str2)
Данная функция имитирует сравнение строк, которое использовал бы человек.
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Обычная сортировка\n";
usort($arr1, "strcmp"); print_r($arr1);
echo "\nЕстенственная сортировка\n"; usort($arr2, "strnatcmp"); print_r($arr2);
Данный скприпт выведет следующее:
Обычная сортировка
Array
(
[0]=> img1.png
[1]=> img10.png
[2]=> img12.png
[3]=> img2.png
)
Естественная сортировка
Array
(
[0]=> img1.png
[1]=> img2.png
[2]=> img10.png
[3]=> img12.png
)
strnatcasecmp
Производит "естественное" сравнение строк без учета регистра.
Синтаксис :
int strnatcasecmp(string str1, string str2)
То же, что и strnatcmp(), только игнорирует регистр.
similar_text
Производит определение схожести двух строк.
Синтаксис :
int similar_text(string firsrt, string second [, double percent])
Функция similar_text() вычисляет схожесть двух строк по алгоритму, описанному Оливером (Oliver [1993]). Но вместо стека (как в псевдокоде Оливера) она использует рекурсивные вызовы.
Сложность алгоритма делает функцию медленной, и ее скорость пропорциональна (N^3), где N - длина наибольшей строки.
Функция возвращает число символов, совпавших в обеих строках. При передаче по ссылке третьего необязательного параметра в нем сохраняется процент совпадения строк.
levenshtein
Определение различия Левенштейна двух строк.
Синтаксис :
int levenshtein(string str1, string str2)
int levenshtein(string str1, string str2, int cost_ins, int cost_rep, int cost_del) int levenshtein(string str1, string str2, function cost)
"Различие Левенштейна" - это минимальное чило символов, которое требовалось бы заменить, вставить или удалить для того, чтобы превратить строку str1 в str2. Сложность алгоритма пропорциональна произведению длин строк str1 и str2, что делает функцию более быстродействующей, чем similar_text().
Первая форма функции возвращает число необходимых операций над символами строк для трансформации str1 в str2.
Вторая форама имеет три дополнительных параметра: стоимость операции вставки, замены и удаления, что делает ее более адаптированной для вычисления, но при этом менее быстродействующей. Возвращается интегральный показатель сложности трансформации.
Третий вариант позволяет указать функцию, используемую для расчета сложности трансформации. Функция cost вызывается со следующими аргументами:
•применяемая операция (вставить, изменить, удалить): "I*quot;, "R", "D";
•фактический символ первой строки
•фактический символ второй строки
•позиция строки 1
•позиция строки 2
•оставшаяся длина строки 1
•оставшаяся длина строки 2
Вызываемая функция должна будет возвратить стоимость этой операции. Если длина одной из строк более 255 символов, функция levenshtein() возвращает -1, но такая длина более чем достаточна.
Строковые функции : Форматирование и вывод строк
Выводит строку, значение переменной или выражение.
Синтаксис : print(string arg)
Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.
echo
Производит вывод одного или нескольких значений.
Синтаксис :
echo(string arg1, string [argn]...)
Функция echo() выводит значения перечисленных параметров.
echo() - фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.
echo "Перенос на следующую строку, имеющийся в коде, сохраняется и используется при выводе".
"чтобы избежать этого используйте". "оператор конкатенации";
printf
Вывод отформатированной строки.
Синтаксис :
int printf(string format [, mixed args, ...]);
Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя.
sprintf
Производит форматирование строки с подстановкой переменных.
Синтаксис : sprintf($format [,args, ...])
Эта функция возвращает строку, составленную на основе строки форматирования, содержащей некоторые специальные символы, которые будут впоследствии заменены на значения соответствующих переменных из списка аргументов.
Строка форматирования $format может включать в себя команды форматирования, предваренные символом %. Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить:
echo sprintf("The percentage was %d%%",$percentage);
Каждый спецификатор формата включает максимум пять элементов (в порядке их следования после символа %):
• Необязательный спецификатор размера поля, который указывает, сколько символов будет отведено под выводимую величину. В качестве символов-
заполнителей (если значение имеет меньший размер, чем размер поля для его вывода) может использоваться пробел или 0, по умолчанию подставляется пробел. Можно задать любой другой символ-наполнитьел, если указать его в строке форматирования, предварив фпострофом.
•Опциональный спецификатор выравнивания, определяющий, будет результат выровнен по правому или по левому краю поля. По умолчанию производится выравнивание по правому краю, однако можно указать и левое выравнивание, задав символ - (минус).
•Необязательное число, определяющее размер поля для вывода величины. Если результат не будет в поле помещаться, то он &quo;вылезет" за края этого поля, но не будет усечен.
•Необязательное число, предваренное точкой ".", предписывающее, сколько знаков после запятой будет в результирующей строке. Этот спецификатор учитывается только в том случае, если происходит вывод числа с плавающей точкой, в противном случае он игнорируется.
•Наконец, обязательный (заметьте - единственный обязательный!) спецификатор типа величины, которая будет помещена в выходную строку:
•b - очередной аргумент из списка выводится как двоичное целое число
•c - выводится символ с указанным в аргументе кодом
•d - целое число
•f - число с плавающей точкой
•o - восьмеричное целое число
•s - строка символов
•x - шестнадцатиричное целое число с маленькими буквами a-z
•X - шестнадцатиричное целое число с большими буквами A-Z
Вот как можно указать точность представления чисел с плавающей точкой:
$money1 = 68.75; $money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1"...
$formatted = sprintf ("%01.2f", $money); // echo $formatted выведет "123.10"!
Вот пример вывода целого числа, предваренного нужным количеством нулей:
$isodate=sprintf("%04d-%02d-%02d",$year,$month,$day);
sscanf
Производит интерпретацию строки согласно формату и занесение значений в переменные.
Синтаксис :
mixed sscanf(string str, string format [, string var1 ...])
Функция sscanf() является противоположностью функции printf(). Она интерпретирует строку str согласно формату format, аналогично спецификации printf(). При указании только двух аргументов полученные значения возращаются в массиве.
// получение серийного номера
$serial = sscanf("SN/235-0001", "SN/%3d-%4d");
echo $serial[0]*10000+$serial[1]; // выводит: 2350001 // и даты изготовления
$date = "January 01 2000";
list($month, $day, $year) = sscanf($date, "%s %d %d"); echo "Дата: $year-".substr($month,0,3)."-$day\n";
// выводит: 2000-Jan-01
