一尘不染

在PHP中按子数组的值对数组进行排序

php

我有一个由数组组成的数组。我想通过子数组的属性对父数组进行排序。这是一个例子

array(2){
    [0]=> array(3){
        [0]=> string(6) "105945"
        [1]=> string(10) "First name"
        [2]=> float(0.080878465391)
    }
    [1]=> array(3) {
        [0]=> string(6) "109145"
        [1]=> string(11) "Second name"
        [2]=> float(0.0504154818384)
    }
}

我想通过[2]在子数组中升序对父数组进行排序,因此在这种情况下,结果将是子数组颠倒(.0508)。使用众多的PHP排序函数中的任何一种,是否可能?


阅读 248

收藏
2020-05-26

共1个答案

一尘不染

您可以将usort函数用作:

$arr = array(
                array("105945","First name",0.080878465391),
                array("109145","Second name",0.0504154818384)
            );

function cmp($a, $b) {
        if ($a[2] == $b[2]) {
                return 0;
        }
        return ($a[2] < $b[2]) ? -1 : 1;
}

usort($arr,"cmp");
2020-05-26