TABLICE JEDNOWYMIAROWE
Tablice jednowymiarowe mogą przechowywać jedną kolumnę danych. Składają się z nazwy tablicy (poprzedzonej znakiem
$) i indeksu podanego w nawiasach kwadratowych (
[ i
]).
Tworzenie tablic
Tablice można zainicjować (utworzyć) na dwa sposoby: za pomocą funkcji
array() oraz poprzez dopisanie nowego (pierwszego) elementu.
Powyższy kod tworzy nową tablicę, ale bez żadnego elementu. Można jednak od razu przy tworzeniu tablicy zadeklarować jej elementy:
<? $tablica = array("element1","element2","element3");
?>
|
Powyższy przykład tworzy tablicę z już zadeklarowanymi elementami. Elementy oddziela się od siebie za pomocą przecinka, a łańcuchy znaków umieszcza w cudzysłowach. Natomiast jeżeli wartość liczbowa jest liczbą, nie ma potrzeby umieszczania jej w cudzysłowach:
<? $tablica = array(1,2,3);
?>
|
Domyślnie pierwszy element ma indeks o wartości
0 Jeżeli chcesz, żeby tablica zaczynała się od innego indeksu, musisz użyć operatora
=>.
<? $tablica = array(1 => "element1","element2","element3");
?>
|
W podobny sposób możesz utworzyć tablicę z tylko niektórymi indeksami:
<? $tablica = array(
1 => "element1",
3 => "element2",
5 => "element3"
);
?>
|
Powyższy przykład różni się trochę w zapisie od poprzedniego, ponieważ zastosowano w nim przejścia do nowej linii i wcięcia, ale tylko w celu zwiększenia czytelności. Nie wpływa to na naszą tablicę, zapis jest za to o wiele bardziej intuicyjny.
Aby utworzyć tablicę zawierającą indeksy tekstowe możemy również posłużyć się operatorem
=>:
<? $tablica = array(
"pole1" => "element1",
"pole2" => "element2",
"pole3" => "element3"
);
?>
|
Dodawanie elementów
Dodawanie nowych elementów do tablicy odbywa się poprzez napisanie nazwy tablicy i podanie numeru (indeksu) pozycji, do której chcemy dopisać nową wartość:
<? # indeks liczbowy
$tablica[0] = "element1";
$tablica[1] = "element2";
$tablica[2] = "element3";
?>
|
Jeżeli dodajesz nowe pozycje do tablicy, tak jak w powyższym przykładzie, możesz uprościć nieco zapis, nie podając numerów indeksów (pisząc samo
[]). W takim przypadku PHP samo dodaje nowe elementy, poczynając od indeksu o wartości
0. Kolejne elementy dodawane są zawsze na końcu tablicy:
<? # tworzenie tablicy z indeksami liczbowymi, które nie są podawane
$tablica[] = "element1";
$tablica[] = "element2";
$tablica[] = "element3";
?>
|
Możesz rónież dopisywać nowe elementy podając indeksy tekstowe:
<? # indeks tekstowy
$tablica["jeden"] = "element1";
$tablica["dwa"] = "element2";
$tablica["trzy"] = "element3";
?>
|
Wyświetlenie danych
Odwoływanie się do tablicy jednowymiarowej wymaga napisania nazwy tablicy oraz podania w nawiasach kwadratowych indeksu elemantu. Indeks może być liczbą całkowitą lub łańcuchem znaków.
<? # definicja tablicy
$tablica = array("element1","element2","element3");
# drukowanie elementów od 0 do 2
echo($tablica[0]);
echo($tablica[1]);
echo($tablica[2]);
?>
|
Powyższy przykład zwraca listę elementów tablicy:
element1
element2
element3
|
W podobny sposób drukuje się zawartość tablic o indeksach tekstowych.
<? #definicja tablicy
$tablica = array(
"pole1" => "element1",
"pole2" => "element2",
"pole3" => "element3"
);
# drukowanie elementów od 'pole1' do 'pole3'
echo($tablica["pole1"]);
echo($tablica["pole2"]);
echo($tablica["pole3"]);
?>
|
Prowyższy przykład zwraca listę elementów tablicy:
element1
element2
element3
|
Spójrzmy jeszcze na taki przykład:
<? $tablica = array(1,2,3);
echo($tablica);
?>
|
Co zwróci w typ przypadku funkcja
echo()? Ponieważ nie został podany indeks elementu tablicy, PHP zwróci tylko nazwę typu zmiennej:
PHP ma wiele funkcji działań na tablicach - od przeglądania po sortowanie. Wszystkie są szczegółowo omówione w manualu PHP na stronach
http://pl.php.net.
Funkcja print_r
Funkcja
print_r() jest bardzo wygodna przy debugowaniu skryptu. Drukuje ona zawartość podanej zmiennej z uwzględnieniem jej struktury.
<? #definicja tablicy trójelementowej
# dwa indeksy tekstowe i jeden liczbowy
$tablica = array(
"pole1" => "element 1 (indeks: pole1)",
"pole2" => "element 2 (indeks: pole2)",
5 => "element 3 (indeks: 5)"
);
# wydrukowanie zawartości zmiennej
echo("<pre>");
print_r($tablica);
echo("</pre>");
?>
|
Powyższy przykład wydrukowania tablicy przy użyciu funkcji
print_r() i znaczników
<pre> i
</pre> (dla zachowania czytelności kodu w przeglądarce) zwraca:
Array
(
[pole1] => element 1 (indeks: pole1)
[pole2] => element 2 (indeks: pole2)
[5] => element 3 (indeks: 5)
)
|