我试图创建一个函数,返回按照平均值排序的初始数组。
例如我有这个:
$array1 = [1,2,3];
$array2 = [1,1,1];
这是我为返回每个数组的平均值所做的一个函数:
function average($a) {
return (array_sum($a)/count($a));
}
我需要返回按照平均值排序的初始数组,否则
$x = [ $array2 , $array1 ];
谢谢。
答案 0 :(得分:0)
您可以这样做:
$multi_arr = [[1,2,3], [1,1,1]];
$avgs = [];
foreach ($multi_arr as $arr) {
$avgs[] = average($arr);
}
// Keep index association
asort($avgs, SORT_NUMERIC);
// Get ordered array indexs
$keys = array_keys($avgs);
$sorted = [];
foreach ($keys as $index) {
$sorted[] = $multi_arr[$index];
}