php - 如何按值数据对多数组进行排序?

标签 php arrays sorting multidimensional-array

如何按值对多个数组进行排序? 我有这样的数据

$num_a = $_POST['num_a']; //get the value data by array num_a[]
$num_b = $_POST['num_b']; //get the value data by array num_b[]
$score = $_POST['score']; //get the value data by array socre[]

for ($i=0; $i < count($num_a); $i++) { 
    //set total data num_a and num_b with value from score
    $ring[($num_a[$i])][($num_b[$i])] = $score[$i]; 
}

print_r($ring);
//output

Array
(
    [0] => Array
        (
            [1] => 5
        )
    [1] => Array
        (
            [2] => 1
        )
    [2] => Array
        (
            [0] => 3
        )
)

如何显示按desc排序的结果,所以结果是这样的,谢谢

我想要的输出

打印_r($环);

Array
(
    [0] => Array
        (
            [1] => 5
        )
    [2] => Array
        (
            [0] => 3
        )
    [1] => Array
        (
            [2] => 1
        )
)

最佳答案

试试这个

$data = [
    0 => [ 1 => 5],
    1 => [ 2 => 1],
    2 => [ 0 => 3],        
];
uasort($data, function($a, $b) {
    $a = array_pop($a);
    $b = array_pop($b);
    if ($a == $b)
    {
        return 0;    
    }
    return ($a < $b) ? 1 : -1;
});

var_dump($data);

关于php - 如何按值数据对多数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31282214/

相关文章:

php - 在 PHP 中使用另一个类中的 MySQLi

php - MySQL - 在不存在的地方插入

php - 执行查询时无法加载模型

javascript - For循环每次只添加相同的对象而不是不同的对象属性

c++ - 在我的类(class)中使用 < 的 sort() 问题

javascript - 在 O(n) 时间内对 (1,2,3) 个数字的数组进行排序

php - ssh无法连接到php中的git服务器

c# - 如何从一维 int 数组返回数字网格?

Python 列出 : why is . sort() 比 sorted() 快得多?

java - 循环遍历二维数组中的主对角线 (/) 及其下方的单元格