按键值排序数组 [英] Order array by key value

查看:134
本文介绍了按键值排序数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好.应该很简单,因为我的稍有不同,所以无法在其他问题上找到正确的答案.

Hey guys. Should be simple, couldn't find a proper answer on other questions because mine is slightly different.

我有一个数组,像这样:

I have an array, like this:

Array
(
    [0] => Array
        (
            [record_id] => 21
            [quality] => 3
        )

    [1] => Array
        (
            [record_id] => 20
            [quality] => 3
        )

    [2] => Array
        (
            [record_id] => 19
            [quality] => 3
        )

    [3] => Array
        (
            [record_id] => 18
            [quality] => 2
        )

    [4] => Array
        (
            [record_id] => 17
            [quality] => 3
        )

)

我需要能够以升序或降序(选择模式时)从最高到最低(关于quality键)对数组进行排序,所以例如,我需要它对数组进行排序并返回有序,例如

I need to be able to order the array by highest to lowest (regarding the quality key) in ascending order or descending (when a mode has been selected), so for example I need it to order an array and return it ordered, e.g.

function order_array($array, $order = 'asc')
{
   if($order == 'asc')
   // order the array from lowest to highest

   if($order == 'desc')
   // order the array from highest to lowest
}

干杯.

推荐答案

检查 usort 功能

function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

这篇关于按键值排序数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆