Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сайтостроение (уроки по HTML, PHP, mySQL, веб-дизайну)


Информационный Канал Subscribe.Ru

Сайтостроение. Основы PHP. Уроки с сайта http://progs.biz

Рассылка №16

Основы PHP. Урок 16. Работаем со строками.
Основы PHP. Урок 17. Продолжаем работать со строками.

Полные версии уроков (с картинками) можно найти по адресам
Урок 16. Работаем со строками.
Урок 17. Продолжаем работать со строками.

PHP. Урок 16. Работаем со строками

На этом занятии мы с вами рассмотрим наиболее употребительные функции по работе со строками.

Сначала операция конкатенации строк. Под этим мудреным названием скрывается простое сложение нескольких строк. В отличие от других языков программмирования, в 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:

echo chr(65); // Напечатается "A"
Наверх

PHP. Урок 17. Продолжаем работать со строками

Продолжаем работать со строками.

Одно из типичных примений строк - это прием информации от посетителя 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:

$str1="Шмидт Отто";
$str2=substr($str1, 0, 5); //В $str2$ - строка "Шмидт"
$str3=substr($str1, 6); //В $str3 - строка "Отто"
echo "$str2\n$str3";

Параметры у этой функции достаточно понятные: первый - строка, из которой выделяем нужные символы, второй - с какой позиции выделяем (нумерация начинается с нуля), и третий - сколько символов выделяем. Третий параметр можно не писать - тогда функция возвратит все символы до конца строки (начиная с символа, определяемого вторым параметром). В качестве второго параметра можно использовать отрицательное число - в этом случае символы берутся с конца строки. Вот пример:

$str1="Шмидт Отто";
$str2=substr($str1, -4);
echo $str2;

Приведенный фрагмент возвратит "Отто".

Для сравнения строк используем функцию strcmp(). Она возвращает число ноль, если строки равны, отрицательное число, если перрвая строка идет раньше второй в алфавитном порядке и положительное число, если первая строка идет дальше второй в алфавитном порядке. Пример использования:

$str1="aaa";
$str2="bbbbb";
$res = strcmp($str1, $str2);
echo $res;

При этом обратите внимание, что эта функция определяет именно алфавитный порядок следования строк. Так, указанный фрагмент возвратит -1, несмотря на то, что в первой строке 3 символа, а во второй - пять. Из особенностей этой функции отметьте еще, что она учитывает строчные и прописные буквы. Если же необходимо сравнить две строки без учета регистра, то используйте функцию strcasecmp().

Для нахождения фрагмента в строке используется функция strpos. Она возвращает номер позиции, с которого начинается искомый фрагмент. Пример использования:

$str1="Alexeev Igor";
$str2="Igor";
$res = strpos($str1, $str2);
echo $res;

Этот фрагмент возвратит 8.

И, наконец, функции по замене символов в данной строке. Сюда можно отнести такие функции как strtr и str_replace. Первая из них производит замены нескольких отдельных символов, вторая - подстрок. Вот примеры их использования:

$str1="abba";
$str2=strtr($str1, "abc", "xyz");
echo $str2;

Правило замены тут такое - a заменяется на x, b заменяется на y, c заменяется на z. В частности, можно во втором и третьем аргументах писать по одной букве.

$str1="Osco родился в ... году в .... Родители Osco ...";
$str2=str_replace("Osco", "Casco", $str1);
echo $str2;

Приведенный фрагмент возвратит строку "Casco родился в ... году в .... Родители Casco ..."

Наверх

Другие рассылки с сайта progs.biz

Рассылки Subscribe.Ru
Уроки по C# и .NET.

Уроки по C# -новому языку от Microsoft для платформы .NET. Создание разных типов приложений (консольные, для Windows, веб-приложения), работа с базами данных, создание собственных компонентов. Примеры, исходники, статьи, FAQ.


Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное