du6jws6975 2012-06-17 03:40
浏览 46
已采纳

基于数组值对数组进行排序

For an instance you have an array:

$unsorted = array(
    'desert' => array(
        'time' => '1339902235',
        'name' => 'desert.jpg'
    ),
    'sea' => array(
        'time' => '1339900801',
        'name' => 'sea.jpg'
    ),
    'mountain' => array(
        'time' => '1339902285',
        'name' => 'mountain.jpg'
    ),
);

Would it be possible to sort the array by the value of $unsorted[$a]['time']?

  • 写回答

3条回答 默认 最新

  • dongzhiju0324 2012-06-17 03:44
    关注

    You can use something like usort and strnatcasecmp.

    For example:

    function sort_2d_asc($array, $key) {
        usort($array, function($a, $b) use ($key) {
            return strnatcasecmp($a[$key], $b[$key]);
        });
    
        return $array;
    }
    
    function sort_2d_desc($array, $key) {
        usort($array, function($a, $b) use ($key) {
            return strnatcasecmp($b[$key], $a[$key]);
        });
    
        return $array;
    }
    
    $unsorted = array(
        'desert' => array(
            'time' => '1339902235',
            'name' => 'desert.jpg'
        ),
        'sea' => array(
            'time' => '1339900801',
            'name' => 'sea.jpg'
        ),
        'mountain' => array(
            'time' => '1339902285',
            'name' => 'mountain.jpg'
        ),
    );
    
    $sorted = sort_2d_asc($unsorted, 'time');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决