学新通技术网

PHP根据二维数组中的某个值进行排序

Luke 19222 1
PHP根据二维数组中的某个值进行排序

根据 指定的 二维数组中的 某个 key,来改变 二维数组的排序


<?php

/**
 * 根据指定的 key 改变数组的排序
 *
 * @Author luke.wu
 *
 * @param  array  $array  要排序的二维数组
 * @param  string $key    要参与排序的关键字
 * @param  string $order  order_asc 是升序 order_desc是降序
 *
 * @return void
 */
function arraySort(array $array, string $key, string $order = 'order_asc')
{
    $arrNum = $arr = array();
    foreach ($array as $k => $v) {
        $arrNum[$k] = $v[$key];
    }
    if ($order == 'order_asc') {
        asort($arrNum);
    } else if ($order == 'order_desc') {
        arsort($arrNum);
    }
    foreach ($arrNum as $k => $v) {
        $arr[$k] = $array[$k];
    }
    return $arr;
}

//调用方法
$array = array(
    0 => array(
        'id' => 1,
        'name' => '北京'
    ),
    1 => array(
        'id' => 2,
        'name' => '北京'
    ),
    2 => array(
        'id' => 3,
        'name' => '北京'
    ),
);

$arrOrder = array_sort($array, 'id', 'order_desc');

print_r($arrOrder);

本文出至:学新通技术网

标签: