Tworzenie ciągów z tablic i odwrotnie
PHP umożliwia zamianę ciągów na tablice i odwrotnie. Zamiana ciągu
na tablicę jest bardzo przydatna jeśli zachodzi potrzeba
wyciągnięcie jakiegoś fragmentu danych z ciągu. Załóżmy że w
odczytaliśmy z pliku z danymi (o odczycie z plików w jednym z
kolejnych rozdziałów) linię z logu zapisanego przez licznik WWW:
"12/11/2000;19:23:33;Netscape Navigator;192.168.1.1". Jak widać
dane rozdzielone są średnikami. Do rozdzielania ciągów na tablicę
służy funkcja explode(). Jako pierwszy parametr
trzeba do niej podać znak lub dłuższy ciąg który oddziela kolejne
pola, jako drugi ciąg do rozdzielenia. Opcjonalnie można podać
trzeci argument, który oznacza maksymalną liczbę pól - jeśli jest
ich więcej niż ta liczba, to ostatnie pole będzie zawierało
wszystkie pozostałe pola. Funkcja zwraca tablicę zawierającą
kolejne pola.
Przykład 5.7. Rozdzielenie danych separowanych średnikiem
<?php $dane = "12/11/2000;19:23:33;Netscape Navigator;192.168.1.1"; $tablica = explode(";", ); ?>
|
Jest także rozszerzona wersja funkcji explode:
split(). Różni się ona tym, że zamiast prostego
ciągu znaków rozdzielających pola, akceptuje ona wyrażenia
regularne (co to jest wyrażenie regularne mniej więcej wyjaśniono w
rozdziale dotyczącyn ciągów).
Czasem potrzebne jest działanie w drugą stronę: złącznie pól
tablicy w jeden ciąg, w którym pola oddzielone są jakimś znakiem
(lub kilkoma). Do tego służy funkcja implode().
Jako pierwszy parametr podawany jest ciąg za pomocą którego
"sklejane" są elementy tablicy, a jako drugi właśnie tablica do
posklejania. Zwracany jest ciąg zawierający posklejane elementy.
Jako przykład zastosowania może posłużyć właśnie zapisywanie danych
o użytkowniku w aplikacji licznika odwiedzin - tablica zawiera dane
o odwiedzającym, a potrzebny jest ciąg pooddzielany średnikami.
Przykład 5.8. Łączenie danych z tablicy
<?php $dane = implode(";", $tablica); ?>
|