沃梦达 / 编程问答 / php问题 / 正文

使用子键值对 PHP 数组进行排序

Sorting PHP array using subkey-values(使用子键值对 PHP 数组进行排序)

本文介绍了使用子键值对 PHP 数组进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个看起来像这样的数组:

<前>大批([埃里克] => 数组([计数] => 10[变化] => 1)[Morten] => 数组([计数] => 8[变化] => 1))

现在,数组中的键是我们帮助台系统中技术人员的姓名.我正在尝试根据 [count] 加上 [changes] 的数量对其进行排序,然后显示它们.我尝试使用 usort,但随后数组键被索引号替换.我该如何排序并保留数组键?

解决方案

你应该使用 uasort 来解决这个问题.

<块引用>

bool uasort ( array &$array ,回调$cmp_function )

这个函数对一个数组进行排序,使得数组索引保持它们的与数组元素的相关性它们与,使用用户定义的比较函数.这主要用于排序时关联数组,其中实际元素顺序很重要.

I have an array that looks something like this:

Array
(
    [Erik] => Array
    ( 
        [count] => 10
        [changes] => 1
    )
    [Morten] => Array
    (
        [count] => 8
        [changes] => 1
    )
)

Now, the keys in the array are names of technicians in our Helpdesk-system. I'm trying to sort this based on number of [count] plus [changes] and then show them. I've tried to use usort, but then the array keys are replaced by index numbers. How can I sort this and keep the array keys?

解决方案

You should use uasort for this.

bool uasort ( array &$array , callback $cmp_function )

This function sorts an array such that array indices maintain their correlation with the array elements they are associated with, using a user-defined comparison function. This is used mainly when sorting associative arrays where the actual element order is significant.

这篇关于使用子键值对 PHP 数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用子键值对 PHP 数组进行排序

基础教程推荐