YazilimciBiri adlı üyeden alıntı: mesajı görüntüle
Bir dizi düşünün;

Array
(
    [4] => Array
    (
      [data] => 90
    )
    [12] => Array
    (
      [data] => 100
    )
)
dizide değerler bu şekilde diyelim.
Bu dizide, bu data değerlerine göre diziyi nasıl sıralarım?

3 numaralı indis yukarıda, 4 numaları indis aşağıda olmalı istenen formata göre. Yanlış anlamayın, 4 ve 12 indislerine göre değil, " data " değerine göre sıralamak istiyorum

function array_msort($array, $cols) {
    $colarr = array();
    foreach ($cols as $col => $order) {
        $colarr[$col] = array();
        foreach ($array as $k => $row) { $colarr[$col]['_'.$k] = strtolower($row[$col]); }
    }
    $eval = 'array_multisort(';
    foreach ($cols as $col => $order) {
        $eval .= '$colarr[''.$col.''],'.$order.',';
    }
    $eval = substr($eval,0,-1).');';
    eval($eval);
    $ret = array();
    foreach ($colarr as $col => $arr) {
        foreach ($arr as $k => $v) {
            $k = substr($k,1);
            if (!isset($ret[$k])) $ret[$k] = $array[$k];
            $ret[$k][$col] = $array[$k][$col];
        }
    }
    return $ret;

}

$sonuc = array_msort($dizi, array('data'=>SORT_DESC));