Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 3.422 pregleda

Najnovija ↓

Kako sortirati array po vrednosti drugog array-a 28.03.2013. u 12:46 · pre 165 meseci #1
Pozdrav svima!
Znam da je naslov kriptičan, ali da objasnim:
Imam array
Code:

$posts = array(
     [0] = array(
          'title' => 'neki naslov',
          'datetime' => '123456789012', // ovo je unix timestamp
          'content' => 'neki content'
     ),
     [1] = array(
          'title' => 'neki naslov',
          'datetime' => '123456789012', // ovo je unix timestamp
          'content' => 'neki content'
     ),
     [2] = array(
          'title' => 'neki naslov',
          'datetime' => '123456789012', // ovo je unix timestamp
          'content' => 'neki content'
     ),
);

Hoću da sortiram array po datetime vrednosti. Problem je što ne mogu da menjam array, već moram naknadno da to sortiram, ali mi nije jasno kako.
Hvala unapred!
Re: Kako sortirati array po vrednosti drugog array-a 28.03.2013. u 12:54 · pre 165 meseci #2
Evo na primeru buble sortinga a ti primeni na neko brze

Code:
function bubble_sort($arr) {
    $size = count($arr);
    for ($i=0; $i<$size; $i++) {
        for ($j=0; $j<$size-1-$i; $j++) {
            if ($arr[$j+1][datetime] < $arr[$j][datetime]) {
                swap($arr, $j, $j+1);
            }
        }
    }
    return $arr;
}

function swap(&$arr, $a, $b) {
    $tmp = $arr[$a];
    $arr[$a] = $arr[$b];
    $arr[$b] = $tmp;
}


Ovo bi trebalo da radi, stim sto mozes da primenis i neki bolji sorting algoritam
Potpis
Aj sad svi u biblioteku da nesto pojedemo i popijemo ...
--------------------------------
Knjigovodstvo

Re: Kako sortirati array po vrednosti drugog array-a 28.03.2013. u 13:37 · pre 165 meseci #4
usort() vezija:

Code:

function sortiranje($a,$b) {
    return ($b['datetime'] - $a['datetime']);
}

usort($posts,'sortiranje');
echo '<pre>';
print_r($posts);
echo '</pre>';
Potpis
When you say "I wrote a program
that crashed Windows", people
just stare at
you blankly and say "Hey, I got
those with the system, *for
free*".
-- Linus Torvalds
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme