我正在使用此代码:
$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"
}
}
我想要做的是根据这些标准对这个分块数组进行正确排序。
因此输出将是:
希望有人能指出我正确的方向。我很擅长以这种方式使用数组。
答案 0 :(得分:1)
您基本上在寻找usort
功能。根据{{3}}:
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
)
)