Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Po co tablice?
Forum PHP.pl > Forum > Przedszkole
shimizu
Witam chciałbym się dowiedzieć do czego stosuje się tablice
Szukałem w w google ale tak nie zbyt jest to opisane
Chodzi mi tak ogólnie ale z przykładami.
wookieb
Grupowanie wielu/podobnych danych w jedno miejsce.
thek
To ja Ci nieco obrazowo pokażę. Masz 200 skarpetek... Trzymasz je wszystkie w jednym pudle walnięte jak leci czy masz poukładane i zorganizowane to w jakiś sposób, choćby tylko w pary by nie grzebać we wszystkich i szukać skarpetek do pary? wink.gif Albo książki... Masz je walnięte byle jak na półce czy może posegregowane autorami lub gatunkami? Po to są właśnie tablice. Służą organizacji i uporządkowaniu danych głównie.
markonix
Ja bym tablice nazwał uporządkowanym zbiorem danych o podobnym charakterze (np. same liczby, same wyrazy, oczywiście można mieszać ale rzadko spotykane).
Przykład: oceny. Dzięki indeksom można ustalić czyje to oceny np.
$oceny['adam'] = array(1,1,1,5);
$oceny['jasiu'] = array(4,5,3,4,3);
Na tablicach można bardzo łatwo operować dzięki multum wbudowanych funkcji w PHP.

Edit: Mała gapa - tablica nie miała wcześniej nazwy wink.gif
shimizu
Dałem pomógł bo już jaśniej to widzę
Zobaczymy co z tego wyjdzie smile.gif
webdice
Uporządkowana owszem, ale nie powiedziałbym że w takiej formie występuje najczęściej.
nekomata
Już to widzę jak po otrzymaniu 50000 rekordów z bazy danych mam operować na zmiennych Oo ... chyba bym się pociął ;d
PeterBass
Tablicy możesz użyć też, np do losowania zdjęć na stronie, wystarczy użyć funkcji array_rand();

Pozdrawiam
PeterBass
sadistic_son
Możesz użyć np. do prostego zwracania błędów użytkownikowi:
  1. if(!funkcja1()){ $error[]='blad 1'; }
  2. if(!funkcja2()){ $error[]='blad 2'; }
  3. //jakies inne dzialanie powodujace blad np:
  4. if(isset($_POST['przycisk']) && !isset($_POST['tekst'])){
  5. $error[]='kliknieto przycisk ale nie wypelnionop pola tekstowego!';
  6. }
  7. //itd. A potem wyswietlanie bledow
  8. if(isset($error)){
  9. foreach($error as $e){
  10. echo $e.'<br />';
  11. }}else{ echo 'bledow brak :) '; }

TAK, tablice są bardzo przydatne, nie sposób się bez nich obejść.
PeterBass
Albo możesz używać tablic wielowymiarowych do tworzenia swojego rodzaju koderów, albo koszyków sklepowych.
markonix
Cytat(webdice @ 23.05.2011, 20:15:38 ) *
Uporządkowana owszem, ale nie powiedziałbym że w takiej formie występuje najczęściej.

Chaos to też jakiś "porządek" wink.gif

Tablice bardzo często są wynikiem zapytania. Zwykle staramy się je właśnie sortować już przy pobieraniu z bazy (ORDER BY).
Nawet jeśli nie wymusimy sortowania to porządek jakiś jest zachowany - kolejność w/g dodawania do bazy.
nekomata
@markonix
Tylko tego chaosu trudniej się używa niż tablic .
Myślę że autor powinien przejrzeć funkcje związane z array'ami wtedy pozna trochę możliwości tablic.
Crozin
PHP-owskie tablice to struktura lepiej znana jako Hash Table. Jest to szczególny przypadek kolekcji.

Podstawowe użycie to grupowanie elementów. Wyobraź sobie, że masz 1000 dokumentów - niech to będą jakieś faktury. Jak je przechowujesz w prawdziwym świecie? Raczej nie trzymasz ich porozrzucanych po połowie mieszkania. Pewnie masz je ładnie złożone w segregatorze, prawda? Prawda.
Co daje ten segregator?
1. Wszystko jest w jednym miejscu.
2. Jak chcesz przenieść gdzieś te 1000 faktur wystarczy, że przeniesiesz jeden przedmiot (segregator), zamiast 1000 innych.
3. Jeżeli masz dobry segregator i dbasz co nieco o to jak przechowujesz w nim dokumenty bardzo szybko, a przede wszystkim łatwo możesz operować na całej kolekcji dokumentów (przeszukać ją, posegregować, wyświetlić jakiś jej mały skrawek itd.).

Zresztą wyobraź sobie tak trywialne zadanie jak pobranie z jakiejś bazy danych 5 aktualności i wyświetleniu ich w pętli. Przecież nie będziesz robić:
  1. $news1 = ...;
  2. $news2 = ...;
  3. $news3 = ...;
  4. $news4 = ...;
  5. $news5 = ...;
Nie da się wygodnie na czymś takim pracować.

Tablic będziesz też często używać ze względu na punkt drugi z powyższej listy. Jeżeli masz jakąś strukturę danych, np. preferencje użytkownika i chcesz je przekazać do kilku miejsc systemu łatwiej jest przekazać jedną zmienną $preferences, która jest tablicą zawierającą wszystkie preferencje użytkownika niż przekazywać każdą z nich z osobna.

@markonix: PHP-owskie tablice są uporządkowane bo dodając do tablicy kolejny element zawsze będzie on na jej końcu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.