PHP二维数组多字段排序

/**
 * 二维数组多字段排序(方法)
 * @param $list
 * @param $field
 * @return mixed
 * Author: Lyn
 * Date: 2020/8/25 15:07
 */
private function sortByCols($list, $field)
{
    $sort_arr = array();
    $sort_rule = '';
    foreach ($field as $sort_field => $sort_way) {
        foreach ($list as $key => $val) {
            $sort_arr[$sort_field][$key] = $val[$sort_field];
        }
        $sort_rule .= '$sort_arr["' . $sort_field . '"],' . $sort_way . ',';
    }
    if (empty($sort_arr) || empty($sort_rule)) {
        return $list;
    }
    eval('array_multisort(' . $sort_rule . ' $list);');
    return $list;
}

//用法
$this->sortByCols($list['data'], array(
'id' => SORT_DESC,
//'value' => SORT_DESC,
));