Podstawy PHP i MySQL
Temat 7 - Tablice
Powrót do spisu temat?w


W tym rozdziale:

  1. Wpisywanie wartości do tablicy
  2. Wypisywanie wartości przechowywanych w zmiennej tablicowej
  3. Sortowanie tablicy
Czym są tablice?

Tablice to format zmiennych, kt?ry potrafi przechowywa? wiele wartości. Dostęp do odpowiednich wartości przechowywanych w zmiennych tablicowych umo?liwiony jest poprzez podanie numeru indeksu lub identyfikatora tekstowego (w tablicach asocjacyjnych).

Przykład wpisania do tablicy i wypisania warto?ci okre?lonego indeksu

Sprawdźmy wynik dzia?ania następującego skryptu:

<?php
$tablica[]="Ala";
$tablica[]="Ola";
$tablica[]="Kasia";
$wypisz=$tablica[1];
echo"Wypisują element tablicy oznaczony indeksem 1 - $wypisz";
?>

Wynikiem dzia?ania skryptu będzie wypisanie imienia "Ola". Dlaczego nie Ala, skoro podali?my indeks o numerze 1?
Pierwszym indeksem tablicy jest 0 (zero). Dlatego posługując się indeksem 1 (jeden) odwołujemy się do drugiego elementu tablicy, nie do pierwszego.

Aby wypisać wszystkie elementy tablicy, należy odwoływać się do wszystkich elementów, najlepiej jest to zrobić za pomocą pętli.

<?php
$tablica[]="Ala";
$tablica[]="Ola";
$tablica[]="Kasia";
for($x= 0; $x < count($tablica); $x++ )
{
   $wypisz=$tablica[$x];
   echo"Wypisują indeks numer $x tablicy o nazwie \"tablica\" - $wypisz<br>";
?>

W powy?szym skrypcie zosta?a wykorzystana funkcja count();, kt?ra zwraca długość tablicy (liczbą indeksów) (nazwa tablicy podana zostaje jako argument tej funkcji).

Sortowanie element?w tablicy

sort(); - gdzie parametrem jest nazwa tablicy, np. sort($tablica);, sortuje tablice rosn?co wed?ug kluczy,
rsort(); - gdzie parametrem jest nazwa tablicy, np. rsort($tablica);, sortuje tablice malejąco według kluczy.

?wiczenie 7_1 - Sortowanie nazwisk

  1. Należy umieścić na swoim koncie WWW plik 07_01.php (do pobrania tutaj 07_01.zip).
  2. Należy uruchomć skrypt i obejrzeć efekt jego działania.
  3. Należy przeanalizować budową skryptu zwracając szczególną uwagę na objaśnienia umieszczone w komentarzach.
  4. Jaki będzie efekt sortowania następujących nazwisk: Cabacka, Babacki, Abacka, Żabacki Proszę spróbować znaleźć odpowiedź na stronach internetowych, dlaczego tak właśnie się dzieje.

Zadanie 7 - Sortowanie tablicy oraz dynamicznie tworzony formularz.

  1. Należy przygotować plik zadanie07.php i opublikować go na swoim koncie.
  2. Etap I - wyświetlenie formularza z jednym polem tekstowym.
  3. Etap II - wy?wietlenie tyle pól formularza, ile życzył sobie użytkownik strony.
  4. Etap III - przesortowanie wszystkich nazwisk wpisanych przez u?ytkownika strony.
  5. Zadanie należy przygotować w jednym pliku.
  6. Dzia?anie skryptów można zobaczyć klikając tutaj (wymagane po??czenie z Internetem)

Wskaz?wki:
Etap I przekazuje do drugiego etapu wartość zmiennej określającej, ile pól tekstowych powinno się wyświetlić w formularzu.
Etap II tworzy pola formularza w p?tli, która ma tyle obrotów, ile życzył sobie użytkownik. Należy zwrócić uwagę na niepowtarzalność nazw dynamicznie tworzonych pól tekstowych. Etap drugi wysyła również do kolejnego etapu liczbę wpisaną przez użytkownika w etapie I. Czyni to za pomocą ukrytego pola formularza.
Etap III wpisuje do tablicy wszystkie wartości odebrane z etapu drugiego. Wpisanie to odbywa się tyle razy, ile zostało wprowadzonych pól formularza. Następuje przesortowanie tablicy i wy?wietlenie jej elementów.

Zadanie 8 - Lotto w rozszerzonej wersji (dla chętnych, wykonanie zadania jest jednak zalecane)

  1. Nale?y przygotowa? plik zadanie08.php i opublikował go na swoim koncie.
  2. Zadanie powraca do idei losowania liczb, należy jednak wykorzysta? w nim poznane do tej pory zagadnienia - losowanie liczb, instrukcje warunkowe, p?tle i sortowanie tablic.
  3. Pierwszy formularz ma wyświetlić dwa pola tekstowe, w które użytkownik wpisze zakres od zera liczb, z których b?dzie przeprowadzone losowanie. Drugie pole określa liczbę losowanych. Proszę wprowadzić odpowiednie ograniczenia, tak jak w podanym przykładzie.
  4. Program powinien zareagowa? na ewentualne błędy użytkownika (należy przetestować to w podanym przykładzie):
    - wpisanie niewłaściwych liczb niż podany w ograniczeniu zakres,
    - wpisanie drugiej liczby wi?kszej od pierwszej,
    - brak wpisów liczb,
  5. Program losuje niepowtarzalne liczby z zadanego zakresu, sprawdza ile jest trafień, układa liczby wylosowane i zaznaczone w kolejności rosnącej, koloruje liczby trafione.
  6. Działanie skryptu można sprawdzić tutaj.

Do zapamiętania

  1. Pierwszy indeks tablicy ma wartość 0 (zero)
  2. Sortowanie elementów tablicy, w których rolę grają polskie znaki diakrytyczne powoduje wyświetlenie tych elementów na końcu.

 


Powrót do spisu tematów