Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie tablicy wielowymiarowej
Forum PHP.pl > Forum > PHP
emeryt
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:
Seth
Poszukaj na forum php. Temat walkowany miliony razy.
A na marginesie to napewno nie na PRO... przenosze do php.
emeryt
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)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.