Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] array_multisort nie sortuje poprawnie
qweluke
post 3.10.2011, 13:14:02
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 25.03.2010
Skąd: Radom

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


Mam taką tablice
  1. Array ( [1] => Array ( [godziny] => 14 [imie] => Magdalena [czas] => 14.00-20.00 ) [2] => Array ( [godziny] => 14 [imie] => Iwona [czas] => 14.00-20.00 ) [3] => Array ( [godziny] => 12 [imie] => Aleksandra [czas] => 12.00-20.00 ) [4] => Array ( [godziny] => 8- [imie] => Dagmara [czas] => 8.00-14.00 ) )


robie taki myk

  1. $tmp = Array();
  2. foreach($Zawodnicy as &$tabliczka)
  3. $tmp[] = &$tabliczka["czas"];
  4. array_multisort($tmp, $Zawodnicy );


i dostaje coś takiego:

  1. Array ( [0] => Array ( [godziny] => 12 [imie] => Aleksandra [czas] => 12.00-20.00 ) [1] => Array ( [godziny] => 14 [imie] => Iwona [czas] => 14.00-20.00 ) [2] => Array ( [godziny] => 14 [imie] => Magdalena [czas] => 14.00-20.00 ) [3] => Array ( [godziny] => 8- [imie] => Dagmara [czas] => 8.00-14.00 ) )


Dlaczego nie chce posortować tego dokładnie, i czas 8.00-14.00 wstawia na sam koniec?
Po Imie sortuje poprawnei :/
Go to the top of the page
+Quote Post
Fifi209
post 3.10.2011, 14:46:40
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


A co według Ciebie oznacza zapis: 14.00-20.00

Dla mnie jest to równoznaczne z 14-20
Wynikiem zatem będzie -6

Ten post edytował Fifi209 3.10.2011, 14:46:57


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
qweluke
post 3.10.2011, 15:00:23
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 25.03.2010
Skąd: Radom

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


to dlaczego jeżeli wybiore 'godziny' to tak samo sortuje? :/
po za tym, ja tam nie wykonuje żadnych obliczeń matematycznych gdyż użycie
echo $tabliczka[0]["czas"]
wyświetli mi 12.00-20.00


  1. array_multisort($tmp, SORT_NUMERIC, SORT_ASC, $Zawodnicy );

Teraz działa poprawnie



Ten post edytował qweluke 4.10.2011, 00:06:02
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: 16.07.2025 - 06:04