繁体   English   中英

按特定键在PHP中降序对关联数组进行排序

[英]Sorting associative array by specific key descending in PHP

我有这样的数组

array('p1'=>array('a'=>0,'b'=>'p1'),'p2'=>array('a'=>4,'b'=>'p2'),'p3'=>array('a'=>1,'b'=>'p3'))

我想通过键排序a本,所以它看起来像这样

array('p2'=>array('a'=>4,'b'=>'p2'),'p3'=>array('a'=>1,'b'=>'p3'),'p1'=>array('a'=>0,'b'=>'p1'))

这是一个关联的多维数组,我希望通过一个特定键对第二级数组进行排序(在示例a

我找到了功能uksort并通过了此功能

function sortByA($a,$b){
    if($a['a'] < $b['a']) return -1;
    return 1;
}

但显示消息:非法字符串偏移量'count'

你能帮我吗?

该消息显示非法字符串偏移量'count' ,这是因为您试图访问sortByCount函数中的'count'索引。 您应该使用'a'索引。

此外, uksort()将按“键”对数组进行排序,而您需要按“值”进行排序。 因此,请使用usort()而不是uksort() 签名与uksort()相同。 因此,只需在函数中将“ count”替换为“ a”,然后将其传递给usort()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM