一尘不染

PHP数组多个排序-按值然后按键?

php

我有一个带有数字值的字符串键数组,可用于具有每个标签出现次数的标签列表中,因此:

$arrTags['mango'] = 2; 
$arrTags['orange'] = 4; 
$arrTags['apple'] = 2; 
$arrTags['banana'] = 3;

这是为了我可以按降序显示标签列表,因此:

orange (4)  
banana (3) 
mango (2) 
apple (2)

我可以使用 arsort 通过出色的值进行反向排序,但是我还希望具有相同数字值的所有标签都按字母顺序排序,因此最终结果可以是:

orange (4)  
banana (3) 
apple (2) 
mango (2)

有办法可以做到吗?我猜想 usort 可能是要走的路,但是我看了php.net上的示例,我的眼睛呆呆了!非常感谢!!!


阅读 271

收藏
2020-05-26

共1个答案

一尘不染

看一下示例3:http
//php.net/manual/en/function.array-
multisort.php

您将需要创建两个数组以用作索引。一个由原始数组的键组成,另一个由原始数组的值组成。

然后使用multisort来按文本值(原始数组的键)排序,然后按数字值(原始数组的值)排序。

2020-05-26