我希望按每个元素的第二个值对数组进行排序。 像下面这个例子。价值未知。
array(4) {
[0]=>
array(2) {
[0]=>
int(2)
[1]=>
int(1) **last in array**
}
[1]=>
array(2) {
[0]=>
int(7)
[1]=>
int(4) **first in array**
}
[2]=>
array(2) {
[0]=>
int(5)
[1]=>
int(2) **Second in array**
}
}
答案 0 :(得分:1)
usort
函数应该完成这项工作:
$arr = [
[2, 1],
[7, 4],
[5, 2],
];
usort($arr, function($a, $b){
return $a[1] - $b[1];
});
print_r($arr);
输出:
Array
(
[0] => Array
(
[0] => 2
[1] => 1
)
[1] => Array
(
[0] => 5
[1] => 2
)
[2] => Array
(
[0] => 7
[1] => 4
)
)
答案 1 :(得分:1)
这是一个灵感来自here
的解决方案$input = array(array(2,1),array(7,4),array(5,2));
function method1($a,$b)
{
return ($a[1] <= $b[1]) ? 1 : -1;
}
usort($input, "method1");
print_r($input);