按键将数组排序为多维数组 [英] Sort arrays into multidimensional array by key

查看:48
本文介绍了按键将数组排序为多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据库表,该表给我以下结果:

I have a database table which gives me the following result:

array(8) {
    ["link_id"]=>
    string(2) "20"
    ["link_url"]=>
    string(56) "http://url.of/website"
    ["link_name"]=>
    string(34) "Website title"
    ["link_target"]=>
    string(0) ""
    ["link_description"]=>
    string(0) ""
    ["link_updated"]=>
    string(19) "2009-05-24 16:51:04"
    ["taxonomy_id"]=>
    string(2) "36"
    ["term_id"]=>
    string(2) "34"
    ["category_name"]=>
    string(15) "Link category"
}

我要排序根据 category_name 键将其中的许多数组合并为一个多维数组,然后按 link_updated 键进行排序。

I want to sort many of these arrays in to one multidimensional array, based on the category_name key, and then sorted by the link_updated key.

所以我最终希望它看起来像这样:

So I eventually want it to look like this:

array(2) {
    ["First category"]=>
    array(2) {
        ["link_name"]=>
        string(11) "Newest link"
        ["link_updated"]=>
        string(19) "2009-05-24 16:51:24"
    }
    ["Second category"]=>
    array(2) {
        ["link_name"]=>
        string(10) "Older link"
        ["link_updated"]=>
        string(19) "2009-05-20 05:32:56"
    }
}

我不知道如何执行此操作,但我认为我必须制定自己的排序方法(usort())?

I have no idea how to do this, but I think I have to make my own sorting method (usort())?

编辑:我想在每个类别中显示5个链接。

I want to show 5 links in each category.

推荐答案

我自己使用以下代码解决了该问题:

I solved it myself, by using the following code:

foreach ($bookmarks as $b)
{
    $category[$b["category_name"]][] = array(
        "link_id" => $b["link_id"],
        "link_url" => $b["link_url"],
        "link_name" => $b["link_name"],
        "link_target" => $b["link_target"],
        "link_description" => $b["link_description"],
        "link_updated" => $b["link_updated"],
        "taxonomy_id" => $b["taxonomy_id"],
        "term_id" => $b["term_id"],
        "category_name" => $b["category_name"]
    );
}

这将创建一个类别名称数组,并将所有子数组置于右侧父数组(基于类别)。在SQL查询中进行链接更新后的排序。

This creates an array of the category name, and puts all subarrays in the right parent array (based on category). The sorting after time the link is updated is being made in the SQL query.

这篇关于按键将数组排序为多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆