Шаг 69.
Основы языка PHP.
Строки. Разбиение и соединение строк. Функция explode()

    На этом шаге мы рассмотрим возможности функции explode().

    В РНР имеется возможность производить разнообразные преобразования над строками. К этим преобразованиям также можно отнести разбиение и соединение строк.

    Функция explode() разбивает строку на подстроки. Ее общий вид следующий:


Рис.1. Общий вид функции explode()

    Чтобы разбить заданную строку необходимо указать, относительно чего будет осуществляться разделение. Например, возможно множество вариантов: относительно пробелов, символов и т. д.

    Функция explode() возвращает массив значений, полученных при делении данной строки. Сама строка указывается вторым параметром, символ является как раз той точкой, относительно которой и будет происходить процесс деления. В этом вы убедитесь, изучив приведенный пример. Если установлен параметр длина, то массив будет содержать максимум длина элементов, при этом последний элемент будет содержать остаток строки.

    Приведем пример:

<pre>
<?php
// первый блок
$part = "Часть1 Часть2 Часть3 Часть4 Часть5 Часть6 Часть7";
$piec = explode(" ",$part);
print_r($piec);
echo "<br>";
// второй блок
$part1 = "Часть1 Часть2 Часть3 Часть4 Часть5 Часть6 Часть7";
$piec1 = explode("т",$part1);
print_r($piec1);
echo "<br>";
// третий блок
$part2 = "Часть1 Часть2 Часть3 Часть4 Часть5 Часть6 часть7";
$piec2 = explode("ц",$part2);
print_r($piec2);
echo "<br>";
?>
</pre>
Текст этой программы можно взять здесь.

    Результат выполнения этой программы смотрите на рисунке 2.


Рис.2. Пример применения функции explode()

    Данную программу можно разделить на три блока. В первом блоке происходит разделение строки на подстроки по пробелу. Функция explode() будет осуществлять исследование строки, проверяя последовательно каждый символ. Как только она найдет пробел, автоматически произойдет перенос указанного участка символов в массив. Затем функция продолжает проверять строку. После того как найдены все пробелы, будет создан массив символов разделенного предложения.

    Во втором блоке происходит практически то же самое, только функция осуществляет разделение не по пробелу, а по букве "т". Это приведено для того, чтобы показать, что предложение можно разделить не только по словам, но и по любому другому символу. Обратите внимание, что самого символа (в данном случае "т") нет. В процессе деления функция explode() просто удаляет тот символ, относительно которого осуществляется деление строки. Другими словами, после того как функция удаляет символ, осуществляется процесс записи содержимого массива.

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

    На следующем шаге мы продолжим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг