Php 使用版本\比较对多维数组排序

Php 使用版本\比较对多维数组排序,php,Php,如何使用usort版本对多维数组进行排序 我想订购此阵列,并根据版本值进行版本比较 array( array('id' => 1, 'version' => '1.3'), array('id' => 2, 'version' => '1.3.1'), array('id' => 3, 'version' => '1.3.2'), array('id' => 4, 'version' => '1.3.2-RC1'),

如何使用usort版本对多维数组进行排序

我想订购此阵列,并根据版本值进行版本比较

array(
    array('id' => 1, 'version' => '1.3'),
    array('id' => 2, 'version' => '1.3.1'),
    array('id' => 3, 'version' => '1.3.2'),
    array('id' => 4, 'version' => '1.3.2-RC1'),
    array('id' => 5, 'version' => '1.3.2-RC2'),
);
订购后的预期订单

  • 1.3.2
  • 1.3.2-RC2
  • 1.3.2-RC1
  • 1.3.1
  • 1.3

  • 应该可以工作。

    这是带有
    usort的比较器:

    usort($arr, function($a,$b) {
        return -1 * version_compare ( $a['version'] , $b['version'] );
    });
    

    阅读更多:


    忘记了一个
    并以相反的方式返回
    
    usort($arr, function($a,$b) {
        return -1 * version_compare ( $a['version'] , $b['version'] );
    });