Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie wielowymiarowej tablicy
Bielo
post 28.02.2004, 14:11:50
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

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


mam tablicę
[php:1:db88fa7ed3]<?php
$tablica[]=array(0,1,2,3,4,5,6,7,8,9)//i tak parę razy np 100
?>[/php:1:db88fa7ed3]
teraz chcę żeby cała tablica $tablica została posortowana po 6 kolumnie


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
bamboos
post 28.02.2004, 14:21:36
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Łódź

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


RTFM: [manual:7e914e5711]array_multisort[/manual:7e914e5711] <-- popatrz w dopiski użytkowników


--------------------
Go to the top of the page
+Quote Post
Bielo
post 28.02.2004, 14:23:55
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

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


Patrzyłem tylko nie wiem czy w takim razie powinienem zamienić każdą kolumnę na oddzielną tablicę jednowymiarową?


--------------------
Go to the top of the page
+Quote Post
bamboos
post 28.02.2004, 14:28:21
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Łódź

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


[php:1:de3f2c78bb]<?php
function array_csort() { //coded by Ichier2003
$args = func_get_args();
$marray = array_shift($args);

$msortline = "return(array_multisort(";
foreach ($args as $arg) {
$i++;
if (is_string($arg)) {
foreach ($marray as $row) {
$sortarr[$i][] = $row[$arg];
}
} else {
$sortarr[$i] = $arg;
}
$msortline .= "$sortarr[".$i."],";
}
$msortline .= "$marray));";

eval($msortline);
return $marray;
}
?>[/php:1:de3f2c78bb]
Kod
syntax:

$new_array = array_multisort($array [, 'col1' [, SORT_FLAG [, SORT_FLAG]]]...);

... tylko podajesz tablicę i według jakiej kolumny ma sortować, oraz ewentualnie typ według jakiego ma sortować i ewentualnie kolejne kolumny według których ma sortować, jeśli w poprzedniej są takie same elemanty...
Po dokładniejszy opis patrz w manual!


--------------------
Go to the top of the page
+Quote Post
Bielo
post 28.02.2004, 14:40:49
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

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


$tem=array_csort($tem,6,SORT_DESC);

Warning: array_multisort() [function.array-multisort.php]: Argument #1 is an unknown sort flag in C:Projektynewzobaczforum.php(20) : eval()'d code on line 1


--------------------
Go to the top of the page
+Quote Post
slash^
post 28.02.2004, 14:56:39
Post #6





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

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


[php:1:7ea6056512]<?php

function sort_tab($tabl, $kol) {
foreach ($tabl as $linia) $sort[] = $linia[$kol];
array_multisort($sort, $tabl);
return $tabl;
}


$tablica = sort_tab($tablica, 6);

?>[/php:1:7ea6056512]


--------------------
d(^^)b
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 - 03:38