PHP explode: dzielenie stringa

Coś jest niejasne? Wejdź na Forum PHP i uzyskaj pomoc

Funkcja PHP explode

Czasami samo określenie, czy dany podciąg znajduje się w stringu nie wystarczy.

Często potrzebujemy określić, ile razy występuje on w tekście. Jedną z możliwości, udostępnianą przez PHP, jest funkcja explode.

Explode pozwala nam podzielić stringa, przypisując każdy rozdzielony element do kolejnego indeksu w tablicy. Dwie lekcje wcześniej poznaliśmy funkcję implode, która łączyła kilka elementów w jeden, przedzielając je pewnym ciągiem. Explode działa dokładnie na odwrót.

Jednym z najczęstszych użyć funkcji explode podczas programowania w PHP jest podzielenie całej zawartości pliku wg znaku końca linii. Wtedy otrzymamy każdą linijkę pliku jako osobną zmienną.
Na to jednak przyjdzie pora.

Zobaczmy jak wygląda jej podstawowe użycie:

<?php

// string do rozdzielenia
$dane = "Marcin,Wesel,Bielsko-Biała";

// wykorzystanie funkcji explode, wg przecinka
$dane_osobowe = explode(",", $dane);

// wyświetlenie otrzymanej tablicy
echo $dane_osobowe[0]."<br/>";
echo $dane_osobowe[1]."<br/>";
echo $dane_osobowe[2]."<br/>";

?>

Funkcja explode biegnie po kolei przez zmienną podaną w drugim argumencie i szuka wystąpienia pierwszego argumentu (w naszym przypadku był to przecinek). W momencie, gdy wystąpienie znajdzie, całą zawartość do tej pory wrzuca jako pierwszy element tablicy, wyrzuca przecinek i biegnie dalej, aż do kolejnego wystąpienia. Jak znajdzie kolejne, wrzuca zawartość do drugiego elementu, wyrzuca separator i tak aż do końca zmiennej.

W ten sposób otrzymaliśmy tablicę $dane_osobowe, która zawiera w sobie każdą część z rozbijanego stringa.

Wykorzystując funkcję explode, możemy w łatwy sposób policzyć np. ilość słów w tekście. Wystarczy rozdzielić ciąg według spacji, a następnie zliczyć ilość indeksów w tablicy. Pomoże nam w tym metoda count().

Poniżej prezentacja:

<?php

$tekst = "Liwto, ojczyzno moja, Ty jesteś jak zdrowie.";

$wyrazy = explode(" ", $tekst);

// wyświetli ilość wyrazów w zmiennej $tekst
echo count($wyrazy);

?>

Link do dokumentacji explode() na oficjalnej stronie PHP: http://php.net/manual/en/function.explode.php

To tylko niektóre z zastosowań tej funkcji. W przygodzie z programowaniem na pewno natkniesz się na wiele więcej. Następna lekcja poświęcona jest bardzo przydatnym funkcjom, manipulującym ciągami znaków. Zapraszam!

Spis lekcji w rozdziale czwartym

Poprzednia lekcja: Szukanie podciągu Następna lekcja: Manipulacja ciągami