![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ma ktoś może pomysł jak wykonać listę alfabetycznie ułożoną?
1. wczytuje do tablicy nazwy plików ( od a do z - mnóstwo) i teraz chciałbym utworzyć drugą tablicę z samymi literami od a do z następnie chciałbym wyświetlić listę tych plików ale w taki sposób aby pliki były pogrupowane alfabetycznie dla każdej litery z drugiej tablicy np: Lista plików na A: ala.txt alina.txt Lista plików na B: basia.txt bożena.txt itd... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 13.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
itd. pozdro -------------------- www.tanieprogramy.edu.pl
www.zamkor.pl |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Bez użycia bazy danych a pozatym to zapytanie nie pogrupuje mi alfabetycznie wpisów zaczynających się na kolejne litery alfabetu
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
spoko no niby działa ale postać wynikowa jest taka troche dziwna...
Array ( [a] => Array ( [0] => a.txt [1] => aa.txt [2] => ab.txt ) [b] => Array ( [0] => basia.txt [1] => bozena.txt ) [c] => Array ( [0] => c.cos ) [h] => Array ( [0] => heniek.txt ) [p] => Array ( [0] => plik.txt ) [z] => Array ( [0] => zeta.txt [1] => ziula.txt ) ) A jak mam tablicę dwu wymiarową gdzie powiedzmy kolumny to litery a wiersze to pliki: A | B | ... | Z ala, aka to w jaki sposób mogę wyświetlić np wszystkie wiersze dla kolumny A i B ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A co Ty myślisz, że za Ciebie wszystko tu ktoś odwali.
~crash podał Ci metodę, która przedstawia dane w bardzo przejrzystej tablicy. A jak nie wiesz co z tym zrobić to odsyłam to kursu dla początkujących i poczytaj o ... pętli. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
wyswietlenie tego to juz szczegol ![]() pozdro!!! Ten post edytował LBO 5.01.2006, 19:11:45 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Teraz to się kompletnie pogubilem... nie otrzymuje żadnego wyniku. nie wiem czy ta funkcja działa.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(patigo @ 2006-01-06 11:37:53) Teraz to się kompletnie pogubilem... nie otrzymuje żadnego wyniku. nie wiem czy ta funkcja działa. Czy ty to tylko bezmyślnie przeklepałeś ![]() W kodzie LBO trzeba zamienić
na
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem jak piszesz i nic. modyfikowałem kod ale nic to nie dało. Ale już nie ważne, wymyśliłem coś innego wkrotce prześle swój kod.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
heeh, moj blad. procedura crasha daje male litery jako kluczea ja w podanym przykladzie wklepalem duze.. i wtedy:
trzeba tylko dodac:
i po klopocie... crash tez mogl sie o to zatroszczyc i zrobic:
wczesniej mogly powstac dwa "takie same" klucze, roznily by sie wielkoscia litery. co nie jest zbyt ekonomiczne i optymalne... a tego nie chcemy - chyba ![]() Ten post edytował LBO 7.01.2006, 14:47:12 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
A czemu tam dałeś strtolower()? Nikt nie wspominał o tym, że pliki mogą zaczynać się tylko z małej literki. Na tamten czas napisałem w miarę optymalny i uniwersalny algorytm.
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
bo casesensitive dzialanie na plikach jest bezsensowne... na winie nie ma rozroznienia miedze 'Plik.txt', a 'plik.txt' - to to samo.. chociaz z drugiej strony nie wiem jak na linuxie... :/, ale pewnie ty mnie oswiecisz.. zreszta: zobaczymy, jakie rozwiazanie przypasuje ~patigo. wie przynajmniej dlaczego nie dzialalo mu wczesniej nasze rozwiazanie
![]() Ten post edytował LBO 7.01.2006, 15:20:21 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Trochę siedziałem nad różnymi optymalnymi rozwiązaniami i doszedłem do czegoś takiego:
dla plików
Może efekt końcowy nie jest do końca taki o jakim myslałem na początku, ale spełnia dość dobrze zadanie które sobie wyznaczyłem. P.S. Mam jeszcze tylko małe pytanie: wprowadzając dane do tablicy: Cytat if (is_dir("$dir_name/$f")) { $pliki=array($f); sort ($pliki); } pobiera mi nazwy katalogów a funkcja sort sortuje wg daty utworzenia/modyfikacji, czy można jakos wymusić lub zmienić funkcję sortującą aby układała wg alfabetu?? Ten post edytował patigo 10.01.2006, 02:45:55 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Najpierw to proponuję się przyjżeć temu fragmentowi kodu, przecież to nie robi nic poza tworzeniem cały czas 1-elementowej tablicy i sortowaniu jej. A i funkcja sort() posortuje tu po wartościach z tablicy, pod warunkiem, że dobrze jej użyjesz.
-------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 4.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Już miałem napisać że nie wiem o co chodzi ale nie zwróciłem uwagi na prosty błąd, innymi słowy zapętliłem sie w myślach
![]() i zamiast: Cytat if (is_dir("$dir_name/$f")) { $pliki=array($f); sort ($pliki); } napisałem
a sortowanie i wyświetlanie wrzuciłem poza while.... i dizala jak należy. Dziękuje. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:37 |