Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie tablicy wielowymiarowej
emeryt
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 7.07.2003

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


Proszę o pomoc w rozwiązaniu problemu z posortowaniem tablicy według wartości znajdującej się w kolumnie D
Tablica
$tab[index][A][B][C][D]
$tab[1][12][7][44][5.3]
$tab[2][11][2][4][3.3]
$tab[3][10][4][34][43.3]
$tab[4][16][17][14][9.3]

efekt jaki winienem otrzymac to:
$tab[1][12][7][44][43.3]
$tab[2][11][2][4][9.3]
$tab[3][10][4][34][5.3]
$tab[4][16][17][14][3.3]

Serdecznie dziękuję. :oops:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Seth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Poszukaj na forum php. Temat walkowany miliony razy.
A na marginesie to napewno nie na PRO... przenosze do php.
Go to the top of the page
+Quote Post
emeryt
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 7.07.2003

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


Lektura znajdujacych sie na forum tematow pozwolila mi na znalezienie i troche zmienienie odpowiedzi na moje pytanie.
Oto funkcja, która sortuje tablice wielowymiarową według 2 wybranych kolumn.
[php:1:78bf0955ab]<?php

//$marroy-tablica do posortowania
//$col1,$col2 - nazwy (index) kolumn wedlug, ktoe=rych ma byc posrtowana tablica
//$typ - DESC czy ASC

function sort2key($marray, $col1,$col2,$typ)
{
$r=0;
foreach ($marray as $row)
{
$sortarr1[$r][] = $row[$col1];
$sortarr1[$r][] = $row[$col2];
$r++;
}
if ($typ=='D')
{
array_multisort($sortarr1, SORT_DESC,$marray,SORT_NUMERIC);
}
if ($typ=='A')
{
array_multisort($sortarr1, SORT_ASC,$marray,SORT_NUMERIC);
}

return $marray;
}
?>[/php:1:78bf0955ab]

Dziękuję za pomoc osobą, których praca w znaczny sposób mi pomogła.
Emeryt laugh.gif



-------------
bbcode php naprawdę spisuje się bardzo dobrze! (DeyV)
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 Aktualny czas: 21.08.2025 - 11:39