[php] Tablice asocjacyjne, a numeryczne

0

Witam

Mocno się zastanawiam dlaczego tablice asocjacyjne są tak popularyzowane w stosunku do tablic nazwe je numerycznymi...

Czy ktoś może mi przybliżyć skąd ta wartość tych tablic... czy rzeczywiście w praktyce tablice gdzie indeksem jest nazwa są aż tak potrzebne...?

Pozdrawiam cisowianka :)

0

Odpowiem może banalnie i mało profesjonalnie aczkolwiek najbardziej łopatologicznie.
Jak np. pobierasz dane z bazy danych i są to dane użytkownika w kolumnach np.: nick, pass etc.
To jak używasz tego łatwiej Ci wpisać
$r['nick'] i od razu wiesz co tam masz niż pamiętać że $r[0] to nick, $r[1] to hasło a $r[n] to coś tam...
Są wygodniejsze.

Może ma to bardziej programistyczne lub filozoficzne wytłumaczenie, ale większa wygoda używania i fakt że od razu się wie co tam się kryje jest dość prostym i przystępnym powodem, który przyzna każdy nawet początkujący programista. Tak myślę...

0

@cisowianka:
A jaki język, tak w ogóle? Chodzi Ci o jakiś konkretny? Jeśli tak, to szanuj proszę regulamin i dodawaj tagi do nazwy tematu (np. , [JS]). Regulamin jest naprawdę niewielki i stworzony po to, by nam wszystkim (również Tobie!) lepiej i sprawniej się tu dyskutowało, a nie dla jakiegoś widzimisię.

Tablice asocjacyjne i numeryczne są dostępne w różnych językach stosowanych w Sieci. To, o jaki język pytasz może mieć pewne znaczenie, choć @Xingu podał jeden uniwersalny powód.

0

Chodziło mi oczywiście o PHP.

Tak się zdenerwowałem tematem, że zapomniałem o tagach, ale już powoli sobie sam odpowiadam.

Chodź dalej wydaje mi się to dość zawiłe ale widzę, że są osoby pomocne więc jak co wrócę do tematu...

Ponieważ przy stopniu zaawansowania który prezentuje muszę zrobić funkcje która będzie mi zapętlała rzeczy z tablicy...

Pozdrawiam</php>

0

Powiedzmy, że operujesz na takich tablicach

//a
array (
 '000-000-000', 'Jan', 'Kowalski', 
);
//b
array (
 'phone'=> '000-000-000'
 'name'=>'Jan', 'surname' => 'Kowalski', 
);

Wyobrażasz sobie jakie zmiany trzeba było by wprowadzić wszędzie w kodzie w przypadku tablicy A, gdy się okaże, że numer telefonu nie jest już potrzebny a "imię" nie jest pod indeksem 1 tylko 0? :P

0
ucho napisał(a)

Powiedzmy, że operujesz na takich tablicach

//a
array (
 '000-000-000', 'Jan', 'Kowalski', 
);
//b
array (
 'phone'=> '000-000-000'
 'name'=>'Jan', 'surname' => 'Kowalski', 
);

Wyobrażasz sobie jakie zmiany trzeba było by wprowadzić wszędzie w kodzie w przypadku tablicy A, gdy się okaże, że numer telefonu nie jest już potrzebny a "imię" nie jest pod indeksem 1 tylko 0? :P

to akurat nie najlepszy przykład, bo w php wystarczy:

//a
array (
 1=> 'Jan', 'Kowalski', 
);

ot, i wszystkie zmiany jakich potrzebujesz ;) (ale oczywiście kod zaczyna wyglądać coraz gorzej).

@cisowianka: Moim zdaniem to nie jest tak, że jeden typ jest dobry, a inny zły. Po prostu korzystasz z takiego rodzaju tablicy, jaki jest w danym momencie sensowny/wygodny i tyle. W przykładzie ucho, w faktycznym projekcie przy próbie zrozumienia kodu musiałabyś się na przykład wracać do początku pliku, żeby zrozumieć co jest pod konkretnym indeksem danej tablicy)

1 użytkowników online, w tym zalogowanych: 0, gości: 1