Метод split класса UnicodeString
Метод split класса UnicodeString разбивает строку на массив подстрок, используя указанный разделитель. Первым параметром передаётся разделитель, вторым - необязательный лимит, ограничивающий количество элементов в результирующем массиве.
Метод возвращает массив объектов UnicodeString. Если разделитель не найден, возвращается массив из одного элемента - исходной строки. Если строка пустая, возвращается массив с одним пустым элементом.
Синтаксис
$res = $str->split($delimiter, $limit = null);
Пример
Давайте разобьём строку 'abcde,article,user,hello' по запятой:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('abcde,article,user,hello');
$res = $str->split(',');
foreach ($res as $item) {
echo $item . "\n";
}
?>
Результат выполнения кода:
abcde
article
user
hello
Пример
Давайте ограничим количество элементов в массиве вторым параметром:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('abcde,article,user,hello');
$res = $str->split(',', 2);
foreach ($res as $item) {
echo $item . "\n";
}
?>
Результат выполнения кода:
abcde
article,user,hello
Как видите, при указании лимита последний элемент содержит всю оставшуюся часть строки, включая разделители.
Пример
Давайте разобьём строку по пустой строке, чтобы получить массив символов:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('abcde');
$res = $str->split('');
foreach ($res as $item) {
echo $item . "\n";
}
?>
Результат выполнения кода:
a
b
c
d
e
Пример
Давайте проверим поведение метода, когда разделитель не найден в строке:
<?php
use Symfony\Component\String\UnicodeString;
$str = new UnicodeString('abcde');
$res = $str->split('-');
var_dump(count($res));
echo $res[0] . "\n";
?>
Результат выполнения кода:
1
abcde
Смотрите также
-
класс
UnicodeString,
который представляет Unicode-строку -
метод
chunk,
который разбивает строку на части заданной длины -
метод
slice,
который возвращает часть строки -
метод
join,
который объединяет массив строк в одну