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

标签 php arrays sorting

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

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] 升序对父数组进行排序,因此在这种情况下,结果将是子数组反转 (.05 , 08)。是否可以使用众多 PHP 排序函数中的任何一个?

最佳答案

您可以使用 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");

关于php - 在 PHP 中按子数组的值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672900/

相关文章:

php - 从数组构建插入查询

php - 可用于编程的最有值(value)的认证是什么?

javascript - 想要在nodejs(javascript)中创建一个数组的数组

javascript - 带有 array.push() 的双方括号 --- JavaScript

sql - 忽略 ORDER BY 子句中的引号、数字、空格等

sorting - Powershell排序非常大的对象集合

C# DataGridView 以通用列表作为基础源进行排序

php - MySql插入高CPU负载

php - 在 Laravel 项目中为评论创建 Like 系统时遇到问题

Javascript:从数组中的对象中选择属性