Implode, explode, operacje na ciągach

background image

Łączenie ciągów

Programując, bardzo często zachodzi potrzeba połączenia ze sobą dwóch, lub więcej, ciągów

znaków. Można to zrobić na różne sposoby. Jeden z nich przedstawiłem na lekcji o operatorach -

operator łączenia. Korzystaliśmy z niego już nieraz. Przypomnijmy sobie jego zastosowanie.

Poniżej przykład:

<?php

$wyswietl = "Bardzo";

$wyswietl .= " lubię";

$wyswietl .= " placki.";

// polecenie wyświetli napis:

// "Bardzo lubię placki."

echo $wyswietl;

// wyświetli napis:

// Moje motto to: "Bardzo lubię placki."

echo 'Moje motto to: "'.$wyswietl.'"';

?>

Działanie operatora łączenia jest bardzo oczywiste. Po prostu łączy ciąg z prawej oraz lewej

strony w jeden. Istnieje jeszcze inna metoda na połączenie ciągów...

Funkcja implode()

Funkcja implode łączy zbiór ciągów, przekazany w postaci tablicy, w jeden, podzielony

łącznikiem. Przyjmuje dwa argumenty, w tym jeden opcjonalny. Jako pierwszy podajemy

element łączący - domyślnie jest to pusty ciąg. Drugim argumentem jest tablica ciągów, którą

chcemy połączyć. Wartość zwracana to ciąg znaków składający się z elementów tablicy,

przedzielonych łącznikiem.

Zobaczmy poniższy listing:

<?php

$data[0] = "18";

$data[1] = "07";

$data[2] = "1976";

$wyswietl_date = implode(" - ", $data);

// wyświetli "18 - 07 - 1976"

echo $wyswietl_date;

?>

background image

W przypadku pominięcia pierwszego argumentu zwrócony zostałby ciąg "18071976". Funkcja

implode jest bardzo użyteczna, gdy mamy do czynienia z wieloma zmiennymi formularza.

Możemy je wtedy przedzielić, np. przecinkiem, po czym zapisać do jednej zmiennej.

Szukanie podciągu

Bardzo ważny element, przydatny podczas tworzenia różnego rodzaju ksiąg gości oraz for

internetowych. Niezbędny szczególnie wtedy, gdy wpisy nie są moderowane i od razu

wyświetlają się na stronie. Najczęściej chcemy sprawdzić, czy dany wyraz występuje wewnątrz

ciągu znaków. Przykładowo, gdy chcemy wprowadzić zakaz wpisywania wulgaryzmów.

Najczęściej stosowana funkcja, spełniająca powyższe zadanie, to strpos(). Przyjmuje ona

dwa argumenty, ciąg szukany oraz ciąg, w którym szukamy. W przypadku znalezienia wyrazu

wewnątrz szukanego stringa, funkcja zwróci pozycję występowania wyrazu. Jeżeli natomiast

podciąg nie zostanie znaleziony, funkcja zwróci wartość logiczną FALSE.

Zobaczmy jej zastosowanie w praktyce:

<?php

$wpisany_tekst = "Rozwijam swoją wiedzę w dziedzinie PHP.";

$czy = strpos($wpisany_tekst, "cholera");

if ($czy == FALSE) // nie znaleziono słowa cholera

echo "Można wyświetlić: $wpisany_tekst.";

else // znaleziono szukany wyraz

echo "Tekst zawiera wulgarne słownictwo.";

?>

Instrukcja ta w łatwy sposób pozwala nam znaleźć szukaną frazę.







background image

Funkcja 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.

Zobaczmy jak jej użyć:

<?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/>";

?>

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);

?>

To tylko niektóre z zastosowań funkcji explode.


Wyszukiwarka

Podobne podstrony:
Operacje na ciągach
Operacje na ciągach ćwiczenia
4 Operacje na Plikach ppt
4 operacje na zmiennych I
34 Pliki Operacje na plikach w Pascalu
późniak koszałka,bazy?nych, Podstawowe operacje na?zach?nych
Frontex, Frontex (Europejska Agencja Zarządzania Współpracą Operacyjną na Zewnętrznych Granicach Pań
Operacje na macierzach id 33628 Nieznany
5 TurboPascal Operacje na tekstach
Znieczulenie do operacji na tętnicy szyjnej
Znieczulenie do operacji na tętnicy szyjnej
07 operacje na danychid 7063 ppt
operacje na plikach
PROGRAMY OPERACYNE NA LATA 2007 2013 w 5
JAVA operacje na plikach
Lab 11 Operacje na plikach

więcej podobnych podstron