[英]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.