Разделение и объединение строк
Преобразуйте строки в массивы и обратно с помощью explode, implode и chunk_split
«Разделение и объединение строк» — бесплатный урок PHP Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.
Преобразование строк и массивов
Две наиболее важные функции преобразования строк в массивы и обратно:
explode($delimiter, $string)— разделить строку на массивimplode($glue, $array)— объединить массив в строку
Основы разделения строк
Разделяйте строку по разделителю:
<?php
$csv = 'Alice,Bob,Carol,Dave';
$names = explode(',', $csv);
print_r($names);
// ['Alice', 'Bob', 'Carol', 'Dave']
// Limit the number of parts
$parts = explode(',', $csv, 2);
print_r($parts);
// ['Alice', 'Bob,Carol,Dave']Объединение строк
Объединяйте массив строк в одну строку:
<?php
$tags = ['php', 'mysql', 'linux'];
echo implode(', ', $tags); // php, mysql, linux
echo implode(' | ', $tags); // php | mysql | linux
echo implode('', $tags); // phpmysqllinux
// join() is an alias for implode()
echo join('-', $tags); // php-mysql-linuxРазбор строк CSV
Используйте str_getcsv(), чтобы разобрать строку CSV, включая поля в кавычках:
<?php
$line = 'Alice,"New York, NY",30';
$fields = str_getcsv($line);
print_r($fields);
// ['Alice', 'New York, NY', '30']Разделение по шаблону
Разделяйте строку по шаблону регулярного выражения для обработки сложных разделителей:
<?php
$text = 'one1two2three3four';
// Split on any digit
$parts = preg_split('/[0-9]/', $text);
print_r($parts);
// ['one', 'two', 'three', 'four']
// Split on whitespace (one or more)
$words = preg_split('/\s+/', ' hello world ');
print_r(array_filter($words)); // ['hello', 'world']Разделение строки на части
str_split() разделяет строку на массив частей заданного размера:
<?php
$str = 'Hello';
// Split into individual characters
$chars = str_split($str);
print_r($chars); // ['H','e','l','l','o']
// Split into chunks of 2
$chunks = str_split('ABCDEF', 2);
print_r($chunks); // ['AB','CD','EF']Создание строк запросов
Используйте http_build_query(), чтобы собирать строки параметров адреса из массивов:
<?php
$params = [
'search' => 'php tutorial',
'page' => 2,
'sort' => 'date',
];
$query = http_build_query($params);
echo $query;
// search=php+tutorial&page=2&sort=date
echo '/posts?' . $query;Разбор строк параметров
Разбирайте строку параметров адреса в массив с помощью parse_str():
<?php
$qs = 'name=Alice&age=30&city=London';
parse_str($qs, $params);
print_r($params);
// ['name'=>'Alice', 'age'=>'30', 'city'=>'London']
// Or use parse_url + parse_str for full URLs
$url = 'https://example.com/search?q=php&page=1';
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
echo $params['q']; // phpimplode для предложений IN
Классический пример использования implode — создание предложений IN для запросов к базе данных из массивов:
<?php
$ids = [1, 2, 3, 4, 5];
$placeholders = implode(',', array_fill(0, count($ids), '?'));
$sql = "SELECT * FROM users WHERE id IN ($placeholders)";
echo $sql;
// SELECT * FROM users WHERE id IN (?,?,?,?,?)
// Use prepared statements with these placeholders!Преобразование строки в массив слов
Разделяйте предложение на слова и обрабатывайте каждое из них:
<?php
$sentence = 'The quick brown fox';
$words = explode(' ', $sentence);
$reversed = array_reverse($words);
echo implode(' ', $reversed);
// fox brown quick The
$wordCount = count($words);
echo "Word count: $wordCount"; // 4Форматирование с помощью шаблона
Объединяйте разделение и форматирование по шаблону для гибкого создания строк:
<?php
$cols = ['name', 'email', 'age'];
$values = ['Alice', 'alice@test.com', 30];
$colList = implode(', ', $cols);
$valPlaceholders = implode(', ', array_fill(0, count($values), '?'));
$sql = "INSERT INTO users ($colList) VALUES ($valPlaceholders)";
echo $sql;
// INSERT INTO users (name, email, age) VALUES (?, ?, ?)Быстрая проверка
Что возвращает explode(',', 'a,b,c', 2)?
Повторение: разделение и объединение
Основные функции:
explode($delim, $str)— преобразование строки в массивimplode($glue, $arr)— преобразование массива в строкуstr_split($str, $len)— разделение на части фиксированного размераpreg_split($pattern, $str)— разделение по регулярному выражениюstr_getcsv()— разбор CSV с полями в кавычкахhttp_build_query()— преобразование массива в строку параметров адреса
Часто задаваемые вопросы
Урок «Разделение и объединение строк» бесплатный?
Да — полный текст урока «Разделение и объединение строк» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Разделение и объединение строк»?
Преобразуйте строки в массивы и обратно с помощью explode, implode и chunk_split Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Разделение и объединение строк»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы строк и конкатенация
- Поиск и замена в строках
- Функции подстрок и дополнения
- Разделение и объединение строк