Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nietypowe sortowanie tablicy, jak napisać funkcję usort?
Civil
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 19.09.2006
Skąd: Wrocław

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


Witam, mam tablicę, do której trafią wartości w trzech formatach:
2121 (sama liczba)
2121-1 (liczba - liczba)
121-1212-1211 (liczba - liczba - liczba)

w jaki sposób posortować tą tablicę aby została posortowana wg pierwszej liczby (bez znaczenia czy dalej jest myślnik)

np. dla 4 wartości:
2121
124-2
150-1245-1265
134

wyskoczyło by

124-2
134
150-1245-1265
2121

?

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Neojawor
post
Post #2





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 2.12.2005
Skąd: Jaworzno

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


po stronie PHP zrobiłbym to tak, że explodowałbym te rekordy znakiem "-" i sortował tylko te pierwsze wyrazy. Po posortowaniu trzeba by połączyć właściwie te rozdzielone wyrazy. Nie napiszę tego, bo nie mam czasu, ale ideowo tak to widzę. Po stronie SQL nie mam pojęcia jak to zrobić, ale możesz poszukać coś o funkcjach pobierających tylko kilka pierwszych znaków danego rekordu (o ile takie istnieją) i wtedy sortować.
A tak nawiasem mówiąc to przechowywanie danych w taki sposób oznacza, że masz bazę nieznormalizowaną - czytaj tutaj
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 14:23