Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Po co tablice?
shimizu
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 16.01.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Grupowanie wielu/podobnych danych w jedno miejsce.
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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? (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/wink.gif)

Ten post edytował markonix 23.05.2011, 21:42:58
Go to the top of the page
+Quote Post
shimizu
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 16.01.2011

Ostrzeżenie: (0%)
-----


Dałem pomógł bo już jaśniej to widzę
Zobaczymy co z tego wyjdzie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
webdice
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Uporządkowana owszem, ale nie powiedziałbym że w takiej formie występuje najczęściej.
Go to the top of the page
+Quote Post
nekomata
post
Post #7





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

Ostrzeżenie: (0%)
-----


Już to widzę jak po otrzymaniu 50000 rekordów z bazy danych mam operować na zmiennych Oo ... chyba bym się pociął ;d
Go to the top of the page
+Quote Post
PeterBass
post
Post #8





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 7.03.2011

Ostrzeżenie: (0%)
-----


Tablicy możesz użyć też, np do losowania zdjęć na stronie, wystarczy użyć funkcji array_rand();

Pozdrawiam
PeterBass
Go to the top of the page
+Quote Post
sadistic_son
post
Post #9





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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ść.
Go to the top of the page
+Quote Post
PeterBass
post
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 7.03.2011

Ostrzeżenie: (0%)
-----


Albo możesz używać tablic wielowymiarowych do tworzenia swojego rodzaju koderów, albo koszyków sklepowych.
Go to the top of the page
+Quote Post
markonix
post
Post #11





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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" (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
nekomata
post
Post #12





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

Ostrzeżenie: (0%)
-----


@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.
Go to the top of the page
+Quote Post
Crozin
post
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:05