首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP数组按项数排序

PHP数组按项数排序
EN

Stack Overflow用户
提问于 2021-04-01 05:19:03
回答 2查看 40关注 0票数 0

我需要根据内部数组中元素的数量对数组进行排序。这是我当前的数组。

代码语言:javascript
运行
复制
Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
            [0] => 2-3
        )

    [2] => Array
        (
            [0] => 5-9
        )

    [3] => Array
        (
            [0] => 5-9
            [1] => 2-3
        )

)

我需要按这种格式对数组进行排序。

代码语言:javascript
运行
复制
Array
(
[3] => Array
        (
            [0] => 5-9
            [1] => 2-3
        )

    [2] => Array
        (
            [0] => 5-9
        )

    [1] => Array
        (
            [0] => 2-3
        )

[0] => Array
        (
        )

)
EN

回答 2

Stack Overflow用户

发布于 2021-04-01 05:27:10

看起来就是这样的:

代码语言:javascript
运行
复制
<?php

$a = [
   [], ['2-3'], ['5-9'], ['5-9', '2-3']
];

$f = fn ($b, $c) => count($c) <=> count($b);
usort($a, $f);
print_r($a);

https://php.net/function.usort

票数 2
EN

Stack Overflow用户

发布于 2021-04-01 05:51:25

我希望这个答案能帮助你

代码语言:javascript
运行
复制
$result  = array();
$sorter  = array();
foreach($values as $key => $vals){
  $sorter[$key]= count($vals);
}
arsort($sorter);
foreach ($sorter as $ii => $va) {
  $result[$ii]=$values[$ii];
}

输出

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66895451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档