首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP多维数组(usort)

PHP多维数组(usort)
EN

Stack Overflow用户
提问于 2012-02-28 21:56:42
回答 2查看 3.7K关注 0票数 4

我有一个关联数组,如下所示

代码语言:javascript
复制
Array
(
    ["News 1"] => Array
        (
            [text] => tests
            [language] => 
            [advertiserCompetitionScale] => 5
            [avgSearchVolume] => 7480000
            [lastMonthSearchVolume] => 9140000
        )

    ["News 2"] => Array
        (
            [text] => personality tests
            [language] => 
            [advertiserCompetitionScale] => 5
            [avgSearchVolume] => 165000
            [lastMonthSearchVolume] => 201000
        )

    ["News 3] => Array
        (
            [text] => online tests
            [language] => 
            [advertiserCompetitionScale] => 5
            [avgSearchVolume] => 246000
            [lastMonthSearchVolume] => 301000
        )

)

我设法按我想要的列对其进行排序(例如LastMonthSearchVolume)

代码语言:javascript
复制
// compare function 
function cmpi($a, $b) 
{ 

     return strcmp($a["lastMonthSearchVolume"], $b["lastMonthSearchVolume"]); 
} 

// do the array sorting 
usort($latest_array, 'cmpi');

问题是,当我转储数组以查看结果时,usort通过删除“News1”、“News2”等来破坏我的关联数组。并将其替换为0,1,2...

有没有办法让sort保留列名?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-02-28 21:59:57

使用函数uasort代替usort,该函数保留了索引关联。

票数 4
EN

Stack Overflow用户

发布于 2012-02-28 22:03:30

请改用uasortusort不维护关联键,而uasort维护关联键。

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

https://stackoverflow.com/questions/9483215

复制
相关文章

相似问题

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