繁体   English   中英

在PHP中对数组未知值进行排序

[英]Sorting array unknown values in php

我想按每个元素的第二个值对数组进行排序。 像下面的例子。 值未知。

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**
  }
} 

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
        )
)

这是从这里得到启发的解决方案

$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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM