explode

explode($separator, $string, $limit)

Dzieli ciąg $string w miejscach separatora $separator i zwraca tablicę części. Przydaje się do przetwarzania listy wartości rozdzielonych przecinkami albo do rozłożenia daty na rok, miesiąc i dzień.

Parametry

  • $separator – ciąg znaków, w miejscu którego następuje podział (nie może być pusty).
  • $string – ciąg znaków do podzielenia.
  • $limit – opcjonalny. Liczba dodatnia = największa liczba elementów (ostatni element zawiera resztę ciągu), liczba ujemna = tyle elementów zostanie pominiętych na końcu.

Przykłady

$tags = explode(",", "php,mysql,css");
print_r($tags); // Array ( [0] => php [1] => mysql [2] => css )
// rozłożenie daty na zmienne
list($year, $month, $day) = explode("-", "2026-09-26");
echo $year; // 2026
// limit
print_r(explode(",", "a,b,c,d", 2)); // Array ( [0] => a [1] => b,c,d )
print_r(explode(",", "a,b,c,d", -1)); // Array ( [0] => a [1] => b [2] => c )
// usunięcie spacji wokół wartości
$tags = array_map("trim", explode(",", "php, mysql , css"));
print_r($tags); // Array ( [0] => php [1] => mysql [2] => css )

Na co uważać

  • Jeśli separatora w ciągu nie ma, funkcja zwraca tablicę z jednym elementem – całym ciągiem.
  • Pusty separator jest niedozwolony: w PHP 7 funkcja zwraca false z ostrzeżeniem, w PHP 8 rzuca wyjątek ValueError. Do podziału na pojedyncze znaki służy str_split().
  • Spacje wokół separatora zostają częścią wartości – usuń je przez array_map("trim", …).

Powiązane funkcje:
implode()
trim()
count()
str_getcsv()