0Pricing
PHP Academy · Урок

Разделение и объединение строк

Преобразуйте строки в массивы и обратно с помощью 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']; // php

implode для предложений 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 — локальная установка не требуется.

Все уроки этого курса

  1. Основы строк и конкатенация
  2. Поиск и замена в строках
  3. Функции подстрок и дополнения
  4. Разделение и объединение строк
← Назад к PHP Academy