2017-03-23 19:01:31     分类: Php
摘要: php有可变参数列表后,写这样的功能真的很方便

合并再根据指定字段排序,代码:

function array_merge_sort(...$parameters)
{
    $desc    = array_pop($parameters);
    $column  = array_pop($parameters);
    $arr     = array_merge(...$parameters);
    $sortArr = array_column($arr, $column);
    array_multisort($sortArr, $desc, $arr);
    return $arr;
}

使用:

$arr1 = [
    [
        'name' => '张三',
        'age'  => 20
    ],
    [
        'name' => '李四',
        'age'  => 36
    ],
    [
        'name' => '王麻子',
        'age'  => 65
    ]
];

$arr2 = [
    [
        'name' => '赵大',
        'age'  => 21
    ],
    [
        'name' => '钱六',
        'age'  => 45
    ]
];

var_dump(array_merge_sort($arr1, $arr2, 'age', SORT_DESC));   // 正序
var_dump(array_merge_sort($arr1, $arr2, 'age', SORT_ASC));    // 倒序

文章标签: