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.