![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Kod array(16) { ["Warmińsko-Mazurskie"]=> string(1) "1" ["Kujawsko-Pomorskie"]=> string(1) "1" ["Śląskie"]=> string(1) "0" ["Pomorskie"]=> string(1) "0" ["Świętokrzyskie"]=> string(1) "0" ["Wielkopolskie"]=> string(1) "0" ["Zachodniopomorskie"]=> string(1) "0" ["Podlaskie"]=> string(1) "0" ["Opolskie"]=> string(1) "0" ["Lubuskie"]=> string(1) "0" ["Lubelskie"]=> string(1) "0" ["Łódzie"]=> string(1) "0" ["Małopolskie"]=> string(1) "0" ["Dolnośląskie"]=> string(1) "0" ["Mazowieckie"]=> string(1) "0" ["Podkarpackie"]=> string(1) "0" } array(16) { ["Świętokrzyskie"]=> string(1) "0" ["Śląskie"]=> string(1) "0" ["Łódzie"]=> string(1) "0" ["Zachodniopomorskie"]=> string(1) "0" ["Wielkopolskie"]=> string(1) "0" ["Warmińsko-Mazurskie"]=> string(1) "1" ["Pomorskie"]=> string(1) "0" ["Podlaskie"]=> string(1) "0" ["Podkarpackie"]=> string(1) "0" ["Opolskie"]=> string(1) "0" ["Małopolskie"]=> string(1) "0" ["Mazowieckie"]=> string(1) "0" ["Lubuskie"]=> string(1) "0" ["Lubelskie"]=> string(1) "0" ["Kujawsko-Pomorskie"]=> string(1) "1" ["Dolnośląskie"]=> string(1) "0" } Jak widac pierwszy po pierwszym dumpie, posortowało wartosciami malejąco. Drugi psuje wszystko. Chce posortowac coś typu MySQL że zapamieta poprzednie sortowanie i przy kolejnym posortuje na tej samej tablicy ale nie od nowa... W Mysql bym to zrobil: ORDER BY `values` DESC, `keys` DESC Mam nadzieje że wyraziłem się jasno :| |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Te funkcje są od siebie kompletnie niezależne, także wynikiem całości będzie wyłącznie wynik działania krsort. Aby osiągnąć to o co pytasz możesz skorzystać z usort dla której utworzysz swoją własną funkcję porównującą.
Nie ogarniam .., zwraca zle klucze-liczbowe (zaraz zedytuje - dalej testuje)
Teraz zwraca ze "Catchable fatal error: Argument 1 passed to arsortdesc() must be an array, string given in" (w lini z usort). Nie potrafie (IMG:style_emoticons/default/tongue.gif) Ten post edytował Ksar 25.01.2015, 17:50:51 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Ewidentnie nie przeczytałeś tego co podesłał Crozin
Funkcja usort przyjmuje dwa parametry: bool usort ( array &$array , callable $value_compare_func ) Tablice oraz funkcje(nazwe funkcji zapisaną w "") która będzie porównywać nazweją . Funkcja callback, przyjmuje dwa parmaetry(Pierwszy lepszy przykład z manuala)
$a i $b to dwa elementy z tablicy. I jeśli a i b są równe to zwraca 0, jeśli a < b to zwraca -1 a jeśli przeciwnie to 1 I wystarczy, że dostosujesz funkcje do siebie. Następnym razem czyaj dokumentacje ze zrozumieniem jeśli nie potrafisz czytać po angielsku to dwa wyjścia meczyć się z translatorem albo uczyć języka. Ten post edytował daniel1302 26.01.2015, 08:32:29 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Ewidentnie nie przeczytałeś tego co podesłał Crozin Funkcja usort przyjmuje dwa parametry: bool usort ( array &$array , callable $value_compare_func ) Tablice oraz funkcje(nazwe funkcji zapisaną w "") która będzie porównywać nazweją . Funkcja callback, przyjmuje dwa parmaetry(Pierwszy lepszy przykład z manuala)
$a i $b to dwa elementy z tablicy. I jeśli a i b są równe to zwraca 0, jeśli a < b to zwraca -1 a jeśli przeciwnie to 1 I wystarczy, że dostosujesz funkcje do siebie. Następnym razem czyaj dokumentacje ze zrozumieniem jeśli nie potrafisz czytać po angielsku to dwa wyjścia meczyć się z translatorem albo uczyć języka. Zauważ że wyżej próbowałem zrobić ten callback więc chyba przeczytałeś tylko post Crozin'a z uwagą. " usort($provinces, 'arsortdesc'); " <i callback jest w cudzysłowie. Jednak dalej nie ogarniam tego co tam robić, poprostu nie na mój mózg opis tej funkcji. | znalezłem inne wyjscie gdzies na stackoverflow(troche przerobiłem nazwy zmiennych):
niestety nie uwzględnia sortowania utf8 ale może być. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ksort czy asort są tutaj bezużyteczne, ponieważ anulują one swoje wzajemne działanie. Musisz napisać własną funkcję, która weźmie pod uwagę wyłącznie Twoje dwa założenia:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 09:45 |