50198 skanuj0162 (10)

50198 skanuj0162 (10)



Rozdział 6. ♦ Ciągi znaków, data i czas 173

Ostatnią z omawianych w tej sekcji funkcji jest strtr. Jej schematyczne wywołanie to: strtrtstr. znaki 1. znakiZ)

Funkcja zwraca ciąg str, w którym znaki zawarte w ciągu znakil zostały zamienione na odpowiadające im znaki z ciągu znaki2. Przykładowo jeśli chcielibyśmy usunąć z dowolnego ciągu wszystkie tzw. polskie znaki i zamienić je na łacińskie odpowiedniki, należałoby zastosować wywołanie:

$str - strtrt"przykładowy ciąg”, "ąćęlńóśżź", "acelnoszz")

Po wykonaniu tej instrukcji w zmiennej str zostanie zapisany ciąg "przykładowy ciąg" niezawierający polskich liter.

Dzielenie i łączenie

W tej sekcji zostaną omówione cztery funkcje, które pozwalają na dzielenie i łączenie ciągów znaków: explode, implode, strtok, substr. Funkcja explode pozwala na rozbicie ciągu znaków względem wybranego separatora. Jej wywołanie ma schematyczną postać: explode(separator. ciągi., ile])

Wynikiem działania funkcji jest tablica, której poszczególne komórki zawierają pojedyncze fragmenty ciągu. Parametr 1 Je jest opcjonalny i określa maksymalną liczbę komórek tablicy wynikowej. Poniższy fragment kodu obrazuje sposób wywołania funkcji explode:

<?php

$tab = explode(" ", "jeden dwa trzy cztery"): foreach($tab as $val) echo("$val<br>"):

Zmiennej tab zostanie przypisana czteroelementowa tablica, zawierająca w kolejnych komórkach ciągi znaków: jeden, dwa, trzy i cztery.

Funkcją odwrotną do expl ode jest implode. Łączy ona zawartość poszczególnych komórek tablicy, wstawiając między nie ciąg łączący. Jej schematyczne wywołanie ma postać:

imp1ode(c?ąg, tablica)

Wynikiem będzie łańcuch znaków, w którym pomiędzy komórki tablicy tablica został wstawiony ciąg. Przykładowo po wywołaniu poniższego kodu:

$tab = array("jeden", "dwa", "trzy"):

$str = implodeC : ", $tab):

zmienna str będzie zawierała następujący ciąg znaków: jeden : dwa : trzy.

Zadanie podobne do explode ma funkcja strtok. Sposób jego wykonania jest jednak inny. Zadaniem strtok jest podział na tokeny (podciągi) takie, że każde wywołanie tej funkcji zwraca jeden token. Pierwsze wywołanie powinno mieć postać: strtok(c;ąg. separator)

kolejne powinny odbywać się w pętli typu while. Najlepiej pokazać to na konkretnym przykładzie. Spójrzmy na listing 6.12.


Wyszukiwarka

Podobne podstrony:
skanuj0156 (10) Rozdział 6. ♦ Ciągi znaków, data i czas 167 Rysunek 6.7. Efekt działania
skanuj0172 (10) Rozdział 6. ♦ Ciągi znaków, data i czas 183Funkcja strtotime Funkcja strtotime dokon
27587 skanuj0160 (10) Rozdział 6. ♦ Ciągi znaków, data i czas 171 od najczęściej wykorzystywanej fun
11144 skanuj0166 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 177 Listing 6.14, Przykładowe wywołani
75292 skanuj0148 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 159 gdy operator . — łączenie łańcuchó
54012 skanuj0158 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 169Przeszukiwanie ciągów Podczas tworz
35406 skanuj0170 (13) Rozdział 6. ♦ Ciągi znaków, data i czas 181Funkcja strftime Funkcja strftime z
88107 skanuj0154 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 165 np.: pr1ntf( T_-3d”. 15): Bardzo u
27526 skanuj0168 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 179 Listing 6.16. Ilustracja różnic mi

więcej podobnych podstron