Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako sortirati array po vrednosti drugog array-a

[es] :: PHP :: Kako sortirati array po vrednosti drugog array-a

[ Pregleda: 2129 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PHPovac

Član broj: 300013
Poruke: 168
*.dynamic.isp.telekom.rs.



+19 Profil

icon Kako sortirati array po vrednosti drugog array-a28.03.2013. u 11:46 - pre 134 meseci
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!
 
Odgovor na temu

Radovan__III
Radovan__III
Beograd

Član broj: 15669
Poruke: 1245
*.dynamic.isp.telekom.rs.



+26 Profil

icon Re: Kako sortirati array po vrednosti drugog array-a28.03.2013. u 11:54 - pre 134 meseci
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
Aj sad svi u biblioteku da nesto pojedemo i popijemo ...
--------------------------------
Knjigovodstvo

 
Odgovor na temu

PHPovac

Član broj: 300013
Poruke: 168
*.dynamic.isp.telekom.rs.



+19 Profil

icon Re: Kako sortirati array po vrednosti drugog array-a28.03.2013. u 12:08 - pre 134 meseci
Hvala, isprobaću posle.
Inače nema potrebe za brzinom, sumnjam da će 30 vrednosti usporiti toliko aplikaciju, a toliko će ih biti.
 
Odgovor na temu

MoDcHe
SER Sabac

Član broj: 4
Poruke: 486
91.150.70.*

Jabber: modche@elitesecurity.org
ICQ: 73295306
Sajt: localhost


+3 Profil

icon Re: Kako sortirati array po vrednosti drugog array-a28.03.2013. u 12:37 - pre 134 meseci
usort() vezija:

Code:

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

usort($posts,'sortiranje');
echo '<pre>';
print_r($posts);
echo '</pre>';

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
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.rs.



+33 Profil

icon Re: Kako sortirati array po vrednosti drugog array-a30.03.2013. u 10:20 - pre 134 meseci
Zašto izmišljati toplu vodu kad već postoji ugrađena funkcija pomoću koje je moguće uraditi tako nešto: array_multisort. Pogledaj primer Example #3 Sorting database results na stranici te f-je u manual-u, to je upravo ono što tebi treba.
 
Odgovor na temu

[es] :: PHP :: Kako sortirati array po vrednosti drugog array-a

[ Pregleda: 2129 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.