Как работает функция explode() в PHP
Функция explode()
в PHP является стандартным (из коробки) средством разделения строк на массивы с использованием выбранного разделителя.
Представим, что у вас есть строка с перечисленными через пробел словами. Вы можете использовать explode()
, чтобы разбить строку на массив отдельных значений. (ключей)
В этой статье я подробно покажу вам, как ей пользоваться.
Как работает explode()?
explode(string $delimiter, string $string, int $limit);
- $delimiter
: Разделитель. То, чем мы будем делить строку, например, пробел " "
- $string
: Строка, которую будем разбивать
- $limit
: Это опциональный параметр, который используется для ограничения количества возвращаемых элементов в результате. Положительное значение устанавливает максимальный размер. Отрицательное значение исключает последние элементы (по аналогии с substr()
). Ноль означает отсутствие ограничения.
Если честно, я никогда не пользовался этим параметром. 😂
explode() на практике
Например, у нас есть наименование товара "Кухонные весы WeighterPRO AA-123" и нам необходимо определить категорию по названию.
$string = explode(
" ",
"Кухонные весы WeighterPRO AA-123"
);
// " " — пробел
// получим следующее
array(4) {
[0]=> string(8) "Кухонные"
[1]=> string(4) "весы"
[2]=> string(11) "WeighterPRO"
[3]=> string(6) "AA-123"
}
var_dump($string);
Получился массив отдельных слов, после чего вы можете пройтись по ним циклом foreach()
и при наличии слова "весы" или любого другого, категоризировать тот или иной товар.
Несколько замечаний о explode()
Будьте осторожны при выборе разделителя для функции explode()
. Если вы используете разделитель, который не существует во входной строке, explode()
просто вернет массив, содержащий всю исходную строку как единственный элемент.
Для задач, требующих обратной операции (преобразование массива обратно в строку, используйте функцию implode()
в PHP.