Любой уважающий себя веб-программист должен знать язык РНР, который может использоваться для создания веб-страниц. Этот язык основан на С и С++, и поэтому в нём присутствует множество конструкций, характерных для этого языка. Например, в PHP длина строки возвращается функцией с таким же названием, как и в С. Эта статья рассказывает о строках, а также об операциях, которые можно выполнять с ними.
Но прежде чем говорить о функциях, дадим основное определение. Строка – это последовательность символов, каждый из которых занимает ровно один байт. Значит, в РНР поддерживается 256 символов. Из этого логично вытекает, что поддержка Юникода в данном языке отсутствует – ведь в Юникоде символов гораздо больше.Какие же операции со строками есть в PHP? Длина строки, их конкатенация (соединение), возвращение кода символа и наоборот – самые простые примеры. Есть и посложнее – поиск подстроки, хеширование, инвертирование. А есть и такие как удаление тегов, поиск по шаблону, разбивка на подстроки с помощью разделителя… Всего не перечислишь! Поэтому мы расскажем о наиболее распространённых и полезных из них.
Самая первая и часто используемая функция в PHP – длина строки. Называется она strlen, а в качестве параметра принимает одну-единственную последовательность символов. Всё просто.
<?
$foo=”foo”;
$bar=strlen ($foo); // $bar равен трём
?>
В PHP длина строки может быть равна нулю. Такая строка называется пустой.
Следующая функция – конкатенация или слияние. Проще говоря, она из двух строк делает одну.
<?
$foo=”Привет,”;
$bar=” мир!”;
$baz=concat ($foo, $bar);
echo $baz; // выведет “Привет, мир!”
?>
Есть и две обратные функции для работы с отдельными символами. Ord – возвращает код символа, а chr – определяет символ по коду.<?
$foo=”q”;
$bar=ord ($foo); // $bar равен 113
$baz=chr ($bar); // $baz равен “q”
?>
Нельзя не упомянуть ещё об одной интересной функции – date. В PHP строки могут использоваться в качестве шаблона для вывода времени. Например, если передать в date строку “H:m:s” и вывести результат, то на экране появится текущее время сервера, разделённое двоеточием, например, “11:08:34”.
Теперь рассмотрим функцию explode. Она разбивает строку на элементы, считая границей каждого указанный символ. Звучит довольно сложно, но на самом деле всё достаточно понятно. Например, есть строка “root|12:56:49|wheel”. Тогда можно написать так:
$foo=explode(“root|12:56:49|wheel”, “|”);
В итоге массив $foo будет содержать три элемента – “root”, “12:56:49”, “wheel”. Если при вызове функции не указывать разделитель, то по умолчанию он будет считаться пробелом. Есть ещё один необязательный параметр - максимальное количество выделяемых подстрок.
Следующая функция удаляет из строки HTML-теги. Называется она strip_tags. Как и у функции explode, у неё есть необязательный второй параметр – список тегов, которые необходимо оставить.Простые функции - конкатенация, поиск подстроки, длина строки – PHP интерпретирует достаточно быстро. А вот обработка поиска по шаблону или удаление тегов может выполняться достаточно долго. Поэтому программы нужно составлять грамотно, с учётом того, что её выполнение занимает определённое время. Нормальный скрипт должен выполняться максимум 10 секунд, а после этого нужно отобразить хотя бы часть веб-страницы, иначе пользователь с неё уйдёт. Но обычно веб-приложения работают гораздо быстрее, ведь РНР-код выполняется на сервере, и браузер принимает сформированную на основе скрипта страницу, в которой содержится вывод PHP-скрипта.