Programowanie PHP

Wstęp

 

Tablice są bardzo specyficznym typem zmiennych – są to, najprościej mówiąc, zmienne zawierające w sobie uporządkowany zbiór zmiennych. Do zmiennych tych uzyskuje się dostęp przez liczbę w nawiasie kwadratowym podane bezpośrednio po nazwie zmiennej – tablicy. Liczba ta to tak zwany indeks – numer kolejny zmiennej w tablicy. Tak samo przypisuje się wartość do tablicy.

 

Przykład 5.1. Tworzenie tablicy

<?php

$tablica[0] = "Wpis numer 0";
$tablice[1] = "Wpis numer 1";
$tablica[2] = "Wpis numer 2";

echo $tablica[2]; // Wyświetlony zostanie napis "Wpis numer 2";

?>

            

Aby poprostu dodać kolejny wpis na końcu tabeli wystarczy przy przypisywaniu wartości nie wpisywać indeksu do nawiasów kwadratowych. Jeśli w ten sposób dodawane są wpisy do nowej tablicy, to pierwszy wpis ma indeks 0.

Indeks można też podawać ze zmiennej, z innej tablicy czy funkcji – z dowolnego wyrażenia zwracającego wartość.

 

Przykład 5.2. Indeksy tablic

<?php

$tab1[] = 1;
$tab1[] = 0;
$tab1[] = 3;
$tab1[] = 2;

$tab2[] = "Pierwszy";
$tab2[] = "Drugi";
$tab2[] = "Trzeci";
$tab2[] = "Czwarty";

echo $tab2[$tab1[2]];

?>

            

Elementem tablicy może być każdy typ zmiennej (z innymi tablicami i obiektami włącznie).

Tablica asocjacyjna

 

W PHP występuje też inny rodzaj tablic, tak zwane tablice asocjacyjne (zwane też czasem haszami – hash table). Są to tablice, w których zamiast indeksów liczbowych używa się identyfikatorów znakowych (kluczy):

 

Przykład 5.3. Tablice asocjacyjne

<?php

$tablica["imie"] = "Jan";
$tablica["nazwisko"] = "Kowalski";
$tablica["adres"] = "Polna 1";

echo $tablica["imie"]." ".$tablica["nazwisko"].", ul. ".$tablica["adres"]."n";

?>

            

Przeglądanie tablic

 

Bardzo często zachodzi potrzeba wykonania jakiejś operacji na wszystkich elementach tablicy. Sprawa jest prosta jeśli tablica jest zwykłą tablicą z indeksami liczbowymi i znamy ilość tych elementów:

 

Przykład 5.4. Przeglądanie tablic pętlą

<?php

$tbl[] = 1;
$tbl[] = 2;
$tbl[] = 3;
$tbl[] = 4;
$tbl[] = 5;

for( $x = 0; $x < 5; $x++ ) {   // Pętla wykona się 5 razy (0...4)
   
   echo $tbl[$x];

}

?>

            

Sprawa się trochę komplikuje jeśli nie znamy ilości elementów tablicy. Wtedy z pomocą przychodzi funkcja count( $nazwa_tablicy ). Zwraca ona ilość elementów w tablicy podanej jako parametr.

 

Przykład 5.5. Pętla for i funkcja count

<?php

$tbl[] = 1;
$tbl[] = 2;
$tbl[] = 3;
$tbl[] = 4;
$tbl[] = 5;

for( $x = 0, $cnt = count($tbl); $x < $cnt; $x++ ){

   echo $tbl[$x];
   
}

?>

            

Jeszcze trudniej jest jeśli konieczne jest przejrzenie tablicy asocjacyjnej, ale i to da się załatwić. W tym przypadku należy skorzystać z funkcji list() i each(). Nie będę omawiał ich działania – jesli kogoś to interesuje, to odsyłam do manuala PHP. Przy przechodzeniu przez tablice asocjacyjne trzeba wykorzystać pętlę while.

 

Przykład 5.6. Przeglądanie tablic asocjacyjnych

<?php

$tablica["imie"] = "Jan";
$tablica["nazwisko"] = "Kowalski";
$tablica["adres"] = "Polna 1";

while( list($klucz, $wartosc) = each($tablica) )
   echo "$klucz => $wartosc<BR>";

?>

            

Jak widać, w każdej iteracji pętli mamy dostępne 2 zmienne, przyjmujące wartości kolejnych kluczy i wartości przypisanych tym kluczom.



Dodaj komentarz






Dodaj

Komentarze

Pitbull, Dodany: 17.03.2020, 21:03
Taki znawca php a tworzy przy pomocy kreatora stron !

© 2013-2024 PRV.pl
Strona została stworzona kreatorem stron w serwisie PRV.pl