Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak działa usort()?
phoenix84
post 14.05.2011, 09:23:34
Post #1





Grupa: Zarejestrowani
Postów: 218
Pomógł: 0
Dołączył: 14.04.2004
Skąd: Słupsk, Nowy Sącz

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


[[NIEAKTUALNE]]

Witam,

Mam problem taki, ze w manualu albo jest niedokladnie, lbo tego nie rozumiem... smile.gif

a ile idee callbackow znam z js... to juz wykorzytsanie tego tu w praktyce cos mi nie idzie...

jest sobie tablica gdzie jest n elementow (klucze od 0 do n)... i kazdy z tych elementow zawiera podtablice majaca 3 elementy (klucze: x, y , d)

(kazdy element tablicy to pole na mapie heksagonalnej, i w podtablicy jest jego x, y i odleglosc od srodka) i teraz chce by mi ja posortowalo wedlug odleglosci od srodka...

zastosowalem to:

function cmp($a, $b)
{
return strcmp($a["d"], $b["d"]);
}

usort($pola, "cmp");

ale efekt nie jest taki jak oczekiwalem... malo tego, wartosci ['d'] zostaly pozmieniane...

czy moze mi ktos wyjasnic jak ta funkcja dziala? bo widocznie zle ja rozumiem... co to jest $a i $b... bo zalozylem, ze to kolejne (sasiednie) elementy tablicy do porownania.... stad porownuje pozniej je wzgledem d... i liczylem an to, ze funckja je ze soba zamieni miejscami... czy jak to tam dziala smile.gif

bede wdzieczny za sugestie,

jednak wszystko dobrze rozumialem, tylko blad w kodzie byl... sorki smile.gif

pozdrawiam,

k.

Ten post edytował phoenix84 14.05.2011, 09:37:54
Go to the top of the page
+Quote Post
thek
post 14.05.2011, 09:35:50
Post #2





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




A example1 i 2 w usort nie jest wystarczająco jasny? Chyba aż nadto wink.gif Tyle, że Ty wzorując się na example2 kompletnie zlałeś sprawę, że "d" u Ciebie to integer, a Ty używasz funkcji do porównywania stringów. Pomyślałeś o tym?


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
plej
post 19.05.2011, 02:48:46
Post #3





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


Poczytaj sobie to: http://www.phpkode.com/tips/item/php-functions/
jak nie umiesz zbytnio angielskiego to na google chrome włącz i ustaw tłumaczenie stronki:)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:48