使用元素内部的多个键对数组元素进行排序-PHP

互联网

我已经将数组转换为JSON,如下所示:

[
    {
        "name": "Sally",
        "nick_name": "sal",
        "availability": "0",
        "is_fav": "0"
    },
    {
        "name": "David",
        "nick_name": "dav07",
        "availability": "0",
        "is_fav": "1"
    },
    {
        "name": "Zen",
        "nick_name": "zen",
        "availability": "1",
        "is_fav": "0"
    },
    {
        "name": "Jackson",
        "nick_name": "jack",
        "availability": "1",
        "is_fav": "1"
    },
    {
        "name": "Rohit",
        "nick_name": "rod",
        "availability": "0",
        "is_fav": "0"
    },

]

我想根据的值按以下顺序整个数组进行排序is_favavailability以及nick_name

[ is_fav:1 availability:1 ]
[ is_fav:1 availability:0 ]
[ is_fav:0 availability:1 ]
[ is_fav:0 availability:0 ]

在这些条件中的每一个条件下,元素都按字母顺序使用 nick_name

因此,上面示例中的最终数组看起来像

[
    {
        "name": "Jackson",
        "nick_name": "jack",
        "availability": "1",
        "is_fav": "1"
    },
    {
        "name": "David",
        "nick_name": "dav07",
        "availability": "0",
        "is_fav": "1"
    },
    {
        "name": "Zen",
        "nick_name": "zen",
        "availability": "1",
        "is_fav": "0"
    },
    {
        "name": "Rohit",
        "nick_name": "rod",
        "availability": "0",
        "is_fav": "0"
    },
    {
        "name": "Sally",
        "nick_name": "sal",
        "availability": "0",
        "is_fav": "0"
    },
]
亚历克斯·塔坦(Alex Tartan)

试试这个array_multisort

$arr = json_decode($data, true);
// Obtain a list of columns
foreach ($arr as $key => $row) {
    $isFav[$key] = $row['is_fav'];
    $avail[$key] = $row['availability'];
    $names[$key] = $row['nick_name'];
}

// Sort the data with isFav descending, avail descending
// Add $arr as the last parameter, to sort by the common key
array_multisort($isFav, SORT_DESC, $avail, SORT_DESC, $names, SORT_ASC, $arr);

您可以在此处查看它的运行情况(3v4l.org)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP。按键对数组元素进行排序

来自分类Dev

在PHP中使用多个条件对数组进行排序

来自分类Dev

使用php函数对数字索引数组的元素进行评分

来自分类Dev

使用php函数对数字索引数组的元素进行评分

来自分类Dev

使用 php 对数组中的元素进行分组

来自分类Dev

在php中对数组元素进行分组

来自分类Dev

根据PHP上的另一个数组对数组的元素进行排序

来自分类Dev

如何使用PHP对数组进行排序

来自分类Dev

php通过匹配键对数组内的数组进行排序

来自分类Dev

PHP-通过arrays键对数组数组进行排序

来自分类Dev

如何通过PHP中的多个键对数组进行分组

来自分类Dev

如何使用PHP对降序的多个数组的数组键进行排序

来自分类Dev

使用php按键对数组值进行排序

来自分类Dev

如何使用PHP对数组进行排序,而忽略开头的文章(a,an,the)?

来自分类Dev

使用指定的键值对数组进行排序PHP

来自分类Dev

如何在PHP中使用If对数组进行排序

来自分类Dev

如何使用PHP以自然顺序对数组进行排序

来自分类Dev

如何使用PHP对数组进行排序,而忽略开头的文章(a,an,the)?

来自分类Dev

使用PHP的usort方法对数组进行排序

来自分类Dev

如何使用PHP按键值对数组数据进行排序?

来自分类Dev

无法使用 PHP 根据键值对数组进行排序

来自分类Dev

使用重音对数组进行排序 - PHP(法语)

来自分类Dev

对数组进行两次排序或使用php对数组进行微调

来自分类Dev

如何在不重新排列索引的情况下使用键 DESC 对多维 PHP 数组进行排序(可以删除这些元素)

来自分类Dev

php需要对数组中的数组进行排序并获取相应的键

来自分类Dev

如何根据PHP中的内部数组键对数组进行分组?

来自分类Dev

PHP按名称对数组进行排序

来自分类Dev

JavaScript与PHP对数组进行排序

来自分类Dev

PHP根据值对数组进行排序

Related 相关文章

  1. 1

    PHP。按键对数组元素进行排序

  2. 2

    在PHP中使用多个条件对数组进行排序

  3. 3

    使用php函数对数字索引数组的元素进行评分

  4. 4

    使用php函数对数字索引数组的元素进行评分

  5. 5

    使用 php 对数组中的元素进行分组

  6. 6

    在php中对数组元素进行分组

  7. 7

    根据PHP上的另一个数组对数组的元素进行排序

  8. 8

    如何使用PHP对数组进行排序

  9. 9

    php通过匹配键对数组内的数组进行排序

  10. 10

    PHP-通过arrays键对数组数组进行排序

  11. 11

    如何通过PHP中的多个键对数组进行分组

  12. 12

    如何使用PHP对降序的多个数组的数组键进行排序

  13. 13

    使用php按键对数组值进行排序

  14. 14

    如何使用PHP对数组进行排序,而忽略开头的文章(a,an,the)?

  15. 15

    使用指定的键值对数组进行排序PHP

  16. 16

    如何在PHP中使用If对数组进行排序

  17. 17

    如何使用PHP以自然顺序对数组进行排序

  18. 18

    如何使用PHP对数组进行排序,而忽略开头的文章(a,an,the)?

  19. 19

    使用PHP的usort方法对数组进行排序

  20. 20

    如何使用PHP按键值对数组数据进行排序?

  21. 21

    无法使用 PHP 根据键值对数组进行排序

  22. 22

    使用重音对数组进行排序 - PHP(法语)

  23. 23

    对数组进行两次排序或使用php对数组进行微调

  24. 24

    如何在不重新排列索引的情况下使用键 DESC 对多维 PHP 数组进行排序(可以删除这些元素)

  25. 25

    php需要对数组中的数组进行排序并获取相应的键

  26. 26

    如何根据PHP中的内部数组键对数组进行分组?

  27. 27

    PHP按名称对数组进行排序

  28. 28

    JavaScript与PHP对数组进行排序

  29. 29

    PHP根据值对数组进行排序

热门标签

归档