Книги наших сотрудников
 
Гостевая книга 

справочник функций

скачать учебник PHP

Форум PHP

Учебник по PHP 4

Сколько новых сайтов Вы делаете за год? результаты

1 сайт

2-3 сайта

не больше 10 сайтов

10-20 сайтов

Так много, что не могу сосчитать

Я вообще не делаю сайты

Оглавление

  1. Основы PHP
  2. Операторы языка PHP
  3. Строковые функции
Rambler's Top100
Яндекс цитирования
Rambler's Top100



Строковые функции PHP

Предыдущая Следующая

Функции объединения/разделения строк

str_repeat() 
str_pad() 
chunk_split() 
strtok() 
explode() 
implode() 
join() 

str_repeat()

Синтаксис:

string str_repeat(string str, int number)

Функция повторения строки. Повторяет строку str то количество раз, которое указано в параметре number.

К примеру:

<?
   echo str_repeat("Hello!",3);
   // выводит Hello! Hello! Hello!
?>

str_pad()

Синтаксис:

string str_pad(string strinput, int pad_length [, string pad_string [, int pad_type]])

Эта функция дополняет строку другой строкой до определенной длины. Аргумент strinput задает исходную строку. Аргумент pad_length задает длину возвращаемой строки. Если он имеет меньшее значение, чем исходная строка, то добавления не производится. Необязательный аргумент pad_string указывает на то, какую строку использовать в качестве дополнения. По умолчанию используются пробелы. Необязательный аргумент pad_type указывает, с какой стороны следует дополнять строку: справо, слево или с обеих сторон. Аргумент pad_type может принимать следующие значения:

  • STR_PAD_RIGHT (по умолчанию)
  • STR_PAD_LEFT
  • STR_PAD_BOTH

chunk_split()

Синтаксис:

string chunk_split(string str [, int chunklen [, string end]])

Эта функция возвращает фрагмент строки. Функция chunk_split() возвращает строку, в которой между каждым блоком строки str длиной chunklen (по умолчанию chunklen = 76) вставляется последовательность из разделителей end (по умолчанию: end = "\r\n").


strtok()

Синтаксис:

string strtok(string arg1, string arg2)

Фунция возвращает строку по частям. Она возвращает часть строки arg1 до разделителя arg2. При последующих вызовах функции возвращается следующая часть до следующего разделителя, и так до конца строки. При первом вызове функция принимает два аргумента: исходную строку arg1 и разделитель arg2. Обратите внимание, что при каждом последующем вызове arg1 указывать не надо, иначе будет возвращаться первая часть строки.

Пример:

<?
   $str ="I am very glad to see%you% adhahjasdad";$tok = strtok($str, " ");
   while($tok) 
   {
     echo ($tok);
     echo (" ");
     $tok = strtok(" %");
   };
   // выведет: "I" "am" "very" "glad" "to" "see" "you":
?>
 

I am very glad to see you

Т.е., видите, что абракадабра, которую мы написали в конце строки, не выводится. Это результат того, что когда в строке последовательно встречаются два или более разделителей, функция возвращает пустую строку, что, к примеру, может прекратить цикл обработки, как в этом примере.


explode()

Синтаксис:

string explode(string arg, string str [, int maxlimit])

Функция explode() производит разделение строки в массив. Она возвращает массив строк, каждая из которых соответствует фрагменту исходной строки str, находящемуся между разделителями, указанными аргументом arg. Необязательный параметр maxlimit указывает максимальное количество элементов в массиве. Оставшаяся неразделенная часть будет содержаться в последнем элементе.

Пример:

<?
   $str = "one two three for five";
   $str_exp = explode(" ", $str);
   /* теперь $str_exp = array([0] => one, [1] => two,
      [2] => three, [3] => for, [4] => five)
   */
?>

implode()

Синтаксис:

string implode(string var, array param)

Функция implode() является обратной функции explode() и производит объединение массива в строку. Функция возвращает строку, которая последовательно содержит все элементы массива, заданного в параметре param, между которыми вставляется значение, указанное в параметре var. Для примера выведем все то, что мы только что "умассивили" функцией explode(), используя пробел в качестве разделителя:

Пример:

<?
   $str = "one two three four five";
   $str_exp = explode(" ", $str);
   /* $str_exp = array([0] => one, [1] => two,
     [2] => three, [3] => four, [4] => five)
   */
   $str_imp = implode(" ", $str_exp);
   echo($str_imp);

Результат:

 

one two three four five


join()

Синтаксис:

string join(string var, array param)

Аналог функции implode() - производит объединение массива в строку.

Вообще говоря, как Вы увидели, последние три функции имеют прямое отношение как к массивам, так и строкам, и многие авторы рассматривают их в разделе, где рассказывается о массивах. Мы решили их рассмотреть в этой главе, поскольку официально эти функции все же считаются строковыми, а о массивах мы будем говорить в следующей главе.



Предыдущая Следующая

Если Вам нужна частная профессиональная консультация от авторов многих книг Кузнецова М.В. и Симдянова И.В., добро пожаловать в наш Консультационный Центр SoftTime.