На этом занятии мы с вами рассмотрим наиболее употребительные функции по работе со строками.
Сначала операция конкатенации строк. Под этим мудреным названием скрывается простое сложение нескольких строк. В отличие от других языков программмирования, в PHP используется оператор "точка" (.). Вот пример:
$str1="Война";
$str2=" и ";
$str3="мир";
echo $str1.$str2.$str3;
Указанный фрагмент выведет в браузер "Война и мир".
Следующая распространенная задача - это вывести в браузер значения некоторых переменных вместе с некоторым сопровождающим текстом. Вот так это делается:
$x=23;
$y=20;
echo "x=$x, y=$y";
Приведенный фрагмент покажет в окне браузера строку "x=23, y=20" (без кавычек, разумеется). Обратите внимание, что мы используем тут двойные кавычки. Их использование заставляет интерпретатор PHP заменять переменные типа $x на сооветствующие значения. Если же мы напишем вместо двойных кавычек одинарные:
$x=23;
$y=20;
echo 'x=$x, y=$y';
то никакой замены производиться не будет, и в окно браузера выведется строка "x=$x, y=$y".
Наряду с echo можно использовать print:
$str1="Испания";
print "Солнечная $str1";
Правило здесь такое же как и для echo - в двойных кавычках имена переменных заменяются на соответствующие значения, а в одинарных замены не происходит.
Для превращения символа в его ascii-код используем функцию ord:
echo ord("A");
Этот фрагмент напечатае 65 (код символа "A").
Для обратного преобразования - получения символа из его ascii-кода - используем функцию chr:
Одно из типичных примений строк - это прием информации от посетителя WEB-странички. Так как посетители не отличаются особым вниманием, то довольно-таки часто вместе с собственно данными будет посылаться лишние пробелы. В PHP предусмотрено несколько функций по удалению таких пробелов. Рассмотрим их.
Функция trim(). Отсекает лишниие пробельые символы в начале и в конце строки. Под пробельными символами имеются в виду пробелы, табуляция, переходы на новую строку. Пример использования:
$str=" Ушку ду Кашку \n ";
$str=trim($str);
После выполнения указанного фрагмента в переменной $str откажется строка "Ушку ду Кашку". Обратите внимание, что удаляются только лишние начальные и конечные пробельные символы. Из середины строки ничего не удаляется.
Для удаления только начальных или только конечных символов используются функции ltrim() и chop(). Вот пример их применения:
$str1=" Испания ";
$str1=ltrim($str1);
$str2=" Франция ";
$str2=chop($str2);
После выполнения указанного фрагмента в переменной $str1 будет строка "Испания ", а в переменной $str2 - " Франция"
Вместо функции chop() можно использовать rtrim() - это одно и тоже.
Для нахождения длины строки используем функцию strlen():
$str="Испания";
$z=strlen($str);
echo $z;
Фрагмент выведет 7 (число символов в слове "Испания").
Для выделения части строки в PHP используется функция substr:
Параметры у этой функции достаточно понятные: первый - строка, из которой выделяем нужные символы, второй - с какой позиции выделяем (нумерация начинается с нуля), и третий - сколько символов выделяем. Третий параметр можно не писать - тогда функция возвратит все символы до конца строки (начиная с символа, определяемого вторым параметром). В качестве второго параметра можно использовать отрицательное число - в этом случае символы берутся с конца строки. Вот пример:
Для сравнения строк используем функцию strcmp(). Она возвращает число ноль, если строки равны, отрицательное число, если перрвая строка идет раньше второй в алфавитном порядке и положительное число, если первая строка идет дальше второй в алфавитном порядке. Пример использования:
При этом обратите внимание, что эта функция определяет именно алфавитный порядок следования строк. Так, указанный фрагмент возвратит -1, несмотря на то, что в первой строке 3 символа, а во второй - пять. Из особенностей этой функции отметьте еще, что она учитывает строчные и прописные буквы. Если же необходимо сравнить две строки без учета регистра, то используйте функцию strcasecmp().
Для нахождения фрагмента в строке используется функция strpos. Она возвращает номер позиции, с которого начинается искомый фрагмент. Пример использования:
И, наконец, функции по замене символов в данной строке. Сюда можно отнести такие функции как strtr и str_replace. Первая из них производит замены нескольких отдельных символов, вторая - подстрок. Вот примеры их использования:
Правило замены тут такое - a заменяется на x, b заменяется на y, c заменяется на z. В частности, можно во втором и третьем аргументах писать по одной букве.
$str1="Osco родился в ... году в .... Родители Osco ...";
$str2=str_replace("Osco", "Casco", $str1);
echo $str2;
Приведенный фрагмент возвратит строку "Casco родился в ... году в .... Родители Casco ..."
Уроки по C# -новому языку от Microsoft для платформы .NET. Создание разных типов приложений (консольные, для Windows, веб-приложения), работа с базами данных, создание собственных компонентов. Примеры, исходники, статьи, FAQ.