Как разделять строку на массивы мы обсудили в прошлой теме explode() - разделяй и властвуй. Функция implode(); склеивает элементы массива и на выход получаем полноценную строку. Если функция explode разделяет строку на элементы массива с помощью разделителя, то функция implode наоборот склеивает строку с помощью указанного символа(клея).
Описание функции implode();
implode( string $Клей, array $Крошки );
$Клей - любой текст или символ который послужит в качестве клея между элементами массива $Крошки. Содержимое из переменной $Клей добавится после каждого элемента из массива, кроме последнего.
$Крошки - Одномерный массив который предстоит превратить в строку разделяя его элементы значением из переменной $Клей.
Расмотрим несколько примеров в которых мы будем использовать функцию implode(); для закрепления знании. Допустим у нас есть одномерный массив который хранит в себе название фирм изготовителей ноутбуков, мы хотим предоставить пользователю полный список ноутбуков которые есть в наличии через запятую.
1 2 3 4 5 |
<?php $Notebook = array("Asus", "Samsung", "HP", "Dell"); $AllNotebooks = implode(", ", $Notebook); echo $AllNotebooks; ?> |
Результат выполнения скрипта:
1 |
Asus, Samsung, HP, Dell |
В примере работы функции explode, мы разделили статью на короткую и более полную. Теперь, с помощью функции implode мы собираем короткую статью и остальную во едино.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $MyArticle = "Блог live-code.ru наполнен качественными и уникальными статьями о программировании и раскрутке сайта.<!--more--> Так-же описана работа движка Joomla + и модули к нему."; // Разделяем строку на короткую и остальную $Article = explode("<!--more-->", $MyArticle); // Выводим содержимое короткой статьи echo "Короткая строка: ".$Article[0]; echo "<br /><br />"; echo "То, что осталось после разделения: ".$Article[1]; echo "<br /><br />"; // Собираем полную статью игнорируя тег <!--more--> $FullText = implode('', $Article); echo "Весь текст: ".$FullText; ?> |
Результат работы скрипта:
1 2 3 4 5 |
Короткая строка: Блог live-code.ru наполнен качественными и уникальными статьями о программировании и раскрутке сайта. То, что осталось после разделения: Так-же описана работа движка Joomla + и модули к нему. Блог live-code.ru наполнен качественными и уникальными статьями о программировании и раскрутке сайта. Так-же описана работа движка Joomla + и модули к нему. |
Функции implode есть альтернатива, её можно заменить с помощью циклов. Цикл читает весь массив и склеивает новые элементы массива к переменной в теле цикла. Минус такого метода в том, что цикл приклеит клей-переменную и после последнего элемента.
1 2 3 4 5 6 7 8 |
<?php $Languages = array("PHP", "C++", "Python", "Java", "Ruby"); $IWantToLearn = 'Я хочу выучить: '; foreach($Languages as $Language) { $IWantToLearn .= $Language.', '; } echo $IWantToLearn; ?> |
Результат работы скрипта:
1 |
Я хочу выучить: PHP, C++, Python, Java, Ruby, |
Как видите после 'Ruby' у нас добавилась ненужная запятая, такая альтернатива функции слишком большая и загрязняет код. Так, что учите PHP функции и не придумывайте велосипед.