czwartek,
Konwertowanie łańcucha znaków na tablicę
Przetwarzanie łańcucha znaków na tablicę to częsta operacja. Język PHP umożliwia realizację takiego zadania na wiele sposobów, które należy dobrać według potrzeb. W materiale za prezentowano prawdopodobnie najprostszą metodę, odpowiednią na początek przygody z tablicami.
Przykład 1
Funkcja explode() umożliwia podzielenie łańcucha znaków na podstawie określonego pierwszym parametrem ciągu znaków. Doskonale nadaje się do łańcuchów znaków o określonej schematycznej strukturze i jest stosunkowo łatwa do zrozumienia. Jej możliwości można wykorzystać w połączeniu z innymi konstrukcjami językowymi (np. pętlami), wtedy może się okazać, że może realizować złożone zadania w sposób bardziej zrozumiały dla początkujących, niż np. wyrażenia regularne. W przykładzie pierwszym argumentem jest przecinek.
$a = explode(',', 'Jan,Karol,Adam,Jerzy');
print_r($a);
/*
Array
(
[0] => Jan
[1] => Karol
[2] => Adam
[3] => Jerzy
)
*/
Przykład 2
Jeśli przetwarzany na tablicę łańcuch znaków ma niezmienny charakter, warto zoptymalizować swój kod i nie wywoływać explode() podczas każdego wykonania skryptu. Można wtedy pomocniczo wygenerować kod deklaracji tablicy i wkleić go do skryptu usuwając explode(). Oczywiście podobną operację można wykonać w dobrym edytorze przy jego odpowiedniej znajomości. Zgodnie z nazwą funkcja implode() działa odwrotnie do explode(), łączy elementy tablicy za pomocą określonego pierwszym parametrem ciągu znaków. W tym przykładzie jest to przecinek. Dodatkowo na początku i na końcu wygenerowanego łańcucha doklejono elementy wymagane do prawidłowej deklaracji tablicy.
echo "['" . implode("','", explode(',', 'Jan,Karol,Adam,Jerzy')) . "']";
// ['Jan', 'Karol', 'Adam', 'Jerzy']