Воскресенье, 20.07.2025, 10:51 Приветствую Вас Гость

On-line: Книги, учебники, статьи

Главная | Регистрация | Вход | RSS

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

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() - производит объединение массива в строку.

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



















Вход на сайт
Поиск
Календарь
«  Июль 2025  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Наш опрос
Как Вам удобнее??
Всего ответов: 341
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0