/**
* @param $list
* @return array
* 二维数组打乱
* 官网demo
*/
public function shuffle_assoc($list) {
if (!is_array($list)) return $list;
$keys = array_keys($list);
shuffle($keys);
$random = array();
foreach ($keys as $key)
$random[$key] = $list[$key];
return $random;
}
/**
* @param $list
* @return array
* 二维数组打乱
* 官网demo
*/
private function rec_assoc_shuffle($array)
{
$ary_keys = array_keys($array);
$ary_values = array_values($array);
shuffle($ary_values);
foreach ($ary_keys as $key => $value) {
if (is_array($ary_values[$key]) and $ary_values[$key] != NULL) {
$ary_values[$key] = rec_assoc_shuffle($ary_values[$key]);
}
$new[$value] = $ary_values[$key];
}
return $new;
}
/*
* 二维数组按照某个字段排序
* @list 排序数组
* @key 排序字段
* @sort 排序方式
* */
function sortByKey($list=[],$key = '',$sort = 'desc')
{
$key_arr = array_column($list,$key);
if (strtolower($sort)=='desc') {
$sort_type = SORT_DESC;
}
if (strtolower($sort)=='asc') {
$sort_type = SORT_ASC;
}
array_multisort($key_arr,$sort_type,SORT_NUMERIC,$list);
return $list;
}