[php] Sortowanie tablic

0

Jak posortować tablicę

Array
{
[0]=Array
{
[a]=1
[b]=3
}
[1]=Array
{
[a]=4
[b]=6
}
[2]=Array
{
[a]=0
[b]=0
}
}

Według np wartości klucza [a], czyli

Array
{
[0]=Array
{
[a]=0
[b]=0
}
[1]=Array
{
[a]=1
[b]=3
}
[2]=Array
{
[a]=4
[b]=6
}
}

//jak wół na górze masz przyklejony wątek aby pisać prefixy! - M

0

Algorytmów jest kilka. Najłatwiejszy, ale też niestety najwolnieższy to sortowanie bombelkowe:


<pre>
<?

$tab[0]['a'] = 10;
$tab[0]['b'] = 1;

$tab[1]['a'] = 40;
$tab[1]['b'] = 4;

$tab[2]['a'] = 30;
$tab[2]['b'] = 3;

$tab[3]['a'] = 20;
$tab[3]['b'] = 2;

print_r($tab);


for ($i=0; $i<4; $i++)
    {
    for ($j=0; $j<3; $j++)
        {
        if ($tab[$j]['a']>$tab[$j+1]['a'])
           {
           $temp['a'] = $tab[$j]['a'];
           $tab[$j]['a'] = $tab[$j+1]['a'];
           $tab[$j+1]['a'] = $temp['a'];
           
           $temp['b'] = $tab[$j]['b'];
           $tab[$j]['b'] = $tab[$j+1]['b'];
           $tab[$j+1]['b'] = $temp['b'];
           }
        }
    }

print_r($tab);
?>
</pre>

0

A jakiś szybszy (dużo szybszy)? Działający na dużych tablicach???

Bo nie moge nic wymyślić??

[sciana] [sciana] [sciana] [sciana] [sciana] [sciana]

1 użytkowników online, w tym zalogowanych: 0, gości: 1