kursy , szkolenia warszawa , e-book , audio book , poradniki , jak zarabiać , pieniądze , biznes , marketing e-commerce , e-biznes , zarabianie w sieci , servicetek group Bogdan Markowicz SG ,3 d e-learning , second life w edukacji , edukacja , 3d
Tablice to typy zmiennych, które służą do przechowywania innych zmiennych. Używanie tablic pomaga np. w przeglądaniu wpisów pobranych z bazy danych lub odczytanej listy plików z foldera na serwerze, gdyż można się do nich odwoływać po ich indeksach (liczby całkowite) lub identyfikatorach tekstowych (w tablicach asocjacyjnych). W wypadku identyfikatorów tekstowych należy pamiętać, że zaczynają się one od zera, gdyż często młodzi programiści popełniają tu błąd. Oto przykład przypisania trzech kolejnych wartości do tablicy $tablica.
<?
$tablica[0] = 8;
$tablica[1] = 9;
$tablica[2] = 1;
?>
Kiedy chcemy po prostu dodać nową pozycję do tablicy, wystarczy zastosować powyższy zapis, pomijając numer klucza w nawiasie kwadratowym. Dla przykładu:
| <? $tablica[] = 8; $tablica[] = 9; $tablica[] = 1; ?> |
Elementem tablicy może być dowolna zmienna, nawet inna tablica. Gdy powstanie taka konstrukcja, tablicę nazywamy wielowymiarową i do elementu odwołujemy się poprzez zapis uwzględniający liczbę wymiarów. Dla przykładu:
| <? $tablica[0][7] = “18 małych kotków”; echo $tablica[0][7]; $tablica[0][7]["tytuł"][2] = “Ala ma kota, a sierotka ma rysia”; //można też wprowadzać indeksy tekstowe (patrz niżej) i więcej niż dwa wymiary tablicy ?> |
Tablice asocjacyjne to odmiany tablic, w których zamiast indeksów liczbowych występują indeksy tekstowe. Najczęstsze zastosowanie tej struktury danych prezentuje poniższy przykład. Tablica reprezentuje konkretną osobę, a wiersze to jej dane osobowe.
| <? echo $kowalski["imie"] = “Jan”; echo $kowalski["miasto"] = “Warszawa”; echo $kowalski["ulica"] = “Polna”; echo $kowalski["wiek"] = 19; echo $kowalski["kawaler"] = true; ?> |
Czasem będziemy potrzebowali wykonać jakąś operację na wszystkich elementach tablicy. np. porównać ze wzorcem. W wypadku zwykłej tablicy (gdy znamy liczbę jej elementów) wystarczy użyć pętli FOR i następującej konstrukcji:
| <? for ($i=0;$i<10;$i++) { echo $tablica[$i]; } ?> |
Lecz jeśli nie znamy liczby elementów tablicy, bo jest ona zmienna i zależy np. od wprowadzonych wcześniej informacji, należy posłużyć się funkcją sizeof(). Podając jako argument nazwę tablicy, otrzymamy liczbę jej elementów. Dla przykładu:
| <? for ($i=0;$i<sizeof($tablica);$i++) { echo $tablica[$i]; } ?> |
Nieco bardziej skomplikowane jest przeglądanie tablicy asocjacyjnej, ale i tutaj użyteczne są dwie konstrukcje. Dla przykładu:
| <? foreach ($tablica as $klucz => $wartosc) { echo “$klucz => $wartosc <br />”; } ?> |
| <? while( list($klucz, $wartosc) = each($tabliczka) ) echo “$klucz => $wartosc<br />”; } ?> |
W pierwszym przykładzie kod zwraca dla każdej iteracji pętli parę zmiennych: $klucz i $wartosc. Zawierają one odpowiednio nazwę klucza i jego wartość. W drugiej konstrukcji należy wyjaśnić funkcje list() i each().
Zatem each() zwraca tablicę, w której na pierwszej pozycji jest klucz, a na drugiej wartość, list() natomiast przechwytuje ją i zapisuje do dwóch zmiennych.
Zdarza się, że ciąg znaków trzeba zamienić na tablicę (chociażby przy odczytywaniu danych z pliku). Potrzebna jest wówczas funkcja explode(). Jak sama nazwa wskazuje, funkcja ta rozdziela określony ciąg znaków i tworzy z powstałych elementów tablicę. Funkcja pobiera dwa argumenty: ciąg znaków lub znak, który stanowi element rozdzielający, a także zmienną zawierającą ciąg, który chcemy rozdzielić. Dla przykładu:
| <? $wpisy = explode(”|”, $odczyt); ?> |
Wywołanie takie zwróci tablicę o nazwie $wpisy z pojedynczymi elementami, które były w oryginalnym ciągu rozdzielone symbolem |.
Elementy tablicy można również tablicę połączyć określonym znakiem (aby je np. zapisać w pliku). Służy do tego funkcja implode(). Pobiera ona dwa argumenty. Pierwszy to ciąg, którymi mają być połączone elementy tablicy, a drugi to nazwa zmiennej tablicy z danymi.
| <? $doZapisu = implode(”|”, $wpisy); ?> |
Do sortowania tablic ? zarówno zwykłych, jak i asocjacyjnych ? napisano wiele funkcji. Poniżej opisujemy sposób działania najważniejszych.
19:39
Chcemy wiecej