explode() и implode() PHP
Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье вы узнали, что такое функции в php. В данной короткой статье я бы хотел поговорить о двух наиболее часто используемых функциях при программировании сценариев на PHP. Это функции explode() и implode(). Функция explode() служит для разбиения строки на части, причем разбиение идёт по определенному разделителю.
Функция implode() служит для объединения строк в одну, вставляя между ними разделитель. Синтаксис у функции explode() следующий:
list explode(string separator, string str1, int limit)
В данном случае мы передаём строку str1, функция ищет в данной строке разделитель separator, и по нему разбивает строку. Также, если указан параметр limit, то строка будет разбита на limit слов. Чтобы было понятнее давайте на примере рассмотрим данную функцию:
<?php
$stroka = "Alex|Ivan|Olesya|Gennadii|Tanya";
$names = explode("|", $stroka);
foreach ($names as $name)
echo "$name "; // в данном случае будут выведены все имена
$newNames = explode("|", $stroka,3);
echo "</br>";
foreach ($newNames as $name)
echo "$name *"; // в данном случае строка будет разбита на 3 слова
?>
В данной функции главное не перепутать порядок следования аргументов. На мой взгляд было бы намного удобнее, если бы сначала передавалась строка, а затем уже разделитель. Также разделителем может быть не только одиночный символ, но и целая строка (смотря что вам нужно разбить на отдельные части):
<?php
$stroka = "MoskvaABCPiterABCSochiABCSaratov";
$cities = explode("ABC", $stroka);
list($city1, $city2, $city3, $city4) = $cities; //распределяем по переменным
foreach ($cities as $city)
echo "$city "; // будут выведены все города
?>
В данном случае мы разбили строку по разделителю ABC. Так как мы знаем, что в строке 4 города, то мы все 4 города распределили по переменным.
Работа функции implode() полностью противоположна работе функции explode(). Давайте используем список городов и снова объединим его в одну строку, но используя уже другой разделитель:
<?php
$newStroka = implode("|", $cities);
echo "$newStroka";
?>
Обязательно проверьте работу данного скрипта.
Совет: рекомендуется использовать именно эти функции для разбиения строк (они работают достаточно быстро), а не писать свои аналоги. Золотое правило: прежде чем писать функцию — посмотрите, возможно такая уже есть в справочнике и "изобретать велосипед" не нужно.
Домашнее задание: все же мы учимся программировать, поэтому давайте напишем аналог функции implode(). Данная функция будет принимать первым параметром массив-список, а вторым разделитель, по которому нужно объединить элементы массива в строку. Данная функция должна возвращать строку.
Вот тут я набросал небольшой код, можно подсмотреть. Не торопитесь смотреть код, попробуйте реализовать сами.
В данной статье вы узнали, как работают функции explode() и implode() в PHP.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.




