按其中一个列排序数组

时间:2013-12-12 09:40:25

标签: php sorting multidimensional-array

我在php中有一些难以学习的数组排序,我需要你的帮助!

我有这个数组:

[fournisseurs_1331566668.csv] => Array
    (
        [name] => fournisseurs_1331566668.csv
        [date] => 1331566694
    )

[fournisseurs_1385460508.csv] => Array
    (
        [name] => fournisseurs_1385460508.csv
        [date] => 1385460517
    )

[fournisseurs_1334062493.csv] => Array
    (
        [name] => fournisseurs_1334062493.csv
        [date] => 1334062505
    )

我想按日期排序(降序)。

使用什么功能?我尝试使用sort和array_multisort,但没有结果:(

2 个答案:

答案 0 :(得分:2)

uasort是可能的 http://www.php.net/manual/de/function.uasort.php

uasort($array, function($a, $b){
     if ($a['date'] == $b['date']) {
         return 0;
     }
     return ($a['date'] < $b['date']) ? +1 : -1;
});

示例:http://3v4l.org/QSXOG

答案 1 :(得分:1)

我使用这个函数来按照他的一个列对每个多维数组进行排序:

 function sortArrayBy($array , $column_name,$sort=SORT_DESC){

    foreach ($array as $key => $row) {
      $column[$key]  = $row[$column_name];
    }

    array_multisort($column, $sort, $array);
    return $array;

}

这样称呼:

<?php sortArrayBy($yourArray,'date') ; ?>