按照指定的键值进行排序
/**
* 二维数组按照指定的键值进行排序
* @param array $records 数据集
* @param string $field 指定排序的字段
* @param false $reverse 升序降序 {true:升序 | false:降序}
* @return array
*/
function array_sort_by(array $records, string $field, $reverse = false)
{
$type = $reverse ? SORT_DESC : SORT_ASC;
array_multisort(array_column($records, $field), $type, $records);
return $records;
}
/**
* 分组排序数组
* @param object|array $sourceData 需要分组的数据
* @param string $keyStr 分组依据
* @return array
*/
function group_data(array $sourceData, string $keyStr)
{
$dataArr = [];
foreach ($sourceData as $k => $val) {
$dataArr[$val[$keyStr]][] = $val;
}
return $dataArr;
}