[ PHPovac @ 28.03.2013. 11:46 ] @
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!
[ Radovan__III @ 28.03.2013. 11:54 ] @
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
[ PHPovac @ 28.03.2013. 12:08 ] @
Hvala, isprobaću posle.
Inače nema potrebe za brzinom, sumnjam da će 30 vrednosti usporiti toliko aplikaciju, a toliko će ih biti.
[ MoDcHe @ 28.03.2013. 12:37 ] @
usort() vezija:

Code:

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

usort($posts,'sortiranje');
echo '<pre>';
print_r($posts);
echo '</pre>';
[ Nikola Poša @ 30.03.2013. 10:20 ] @
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.