Php 对分块数组进行排序并理解它
我正在使用以下代码:Php 对分块数组进行排序并理解它,php,mysql,arrays,Php,Mysql,Arrays,我正在使用以下代码: $chunked = array_chunk($items,3,false); 其输出如下: array(11) { [0]=> array(3) { [0]=> string(10) "Volvo" [1]=> string(4) "1000" [2]=> string(7) "50000" } [1]=> array(3) { [0]=> strin
$chunked = array_chunk($items,3,false);
其输出如下:
array(11) {
[0]=>
array(3) {
[0]=>
string(10) "Volvo"
[1]=>
string(4) "1000"
[2]=>
string(7) "50000"
}
[1]=>
array(3) {
[0]=>
string(11) "Saab"
[1]=>
string(4) "1200"
[2]=>
string(7) "40000"
}
[2]=>
array(3) {
[0]=>
string(7) "Lexus"
[1]=>
string(4) "900"
[2]=>
string(7) "55000"
}
}
我想做的是根据这些标准对这个分块数组进行正确排序
希望有人能给我指出正确的方向。我对以这种方式使用数组非常陌生。您基本上是在寻找一个
usort
函数。根据:
usort-使用用户定义的比较函数按值对数组排序
首先,我将按照第三个键对整个数组进行排序(假设$z
是您的数组)。然后取消设置最后一个元素并按第二个键调用数组:
usort($z, function($a, $b) {
return $b[2] - $a[2];
});
unset($z[2]);
usort($z, function($a, $b) {
return $b[1] - $a[1];
});
最后的值应为以下值:
Array
(
[0] => Array
(
[0] => Volvo
[1] => 1000
[2] => 50000
)
[1] => Array
(
[0] => Lexus
[1] => 900
[2] => 55000
)
)