如何按值对多个数组进行排序? 我有这样的数据
$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/