PHP:如何排序和维护密钥?
Posted
技术标签:
【中文标题】PHP:如何排序和维护密钥?【英文标题】:PHP: how to usort and maintain keys? 【发布时间】:2015-05-23 06:48:46 【问题描述】:我有以下数组(JSON 化以便于查看):
"23":
"price": "33.99"
,
"38":
"price": "30.86"
,
"51":
"price": "31.49"
我想按 price
键对其进行排序,但我希望结果也返回包含价格的元素的键,所以像这样:
"38":
"price": "30.86"
,
"51":
"price": "31.49"
,
"23":
"price": "33.99"
我的usort
回调是这样的:
private function _price_sort($a, $b)
if ($a['price'] == $b['price'])
return 0;
return ($a['price'] < $b['price']) ? -1 : 1;
...以正确的顺序返回数组,但没有元素容器:
[
"price": "30.86"
,
"price": "31.49"
,
"price": "33.99"
]
我需要在回调函数中或在 usort 中做些什么来保留键吗?
【问题讨论】:
改用uasort() 【参考方案1】:使用uasort()
维护您的密钥
此函数使用用户定义的比较函数对数组进行排序,以使数组索引与其关联的数组元素保持相关性。
【讨论】:
哇!我在usort
中尝试解决这个问题。谢谢!
@***Newbie 这回答了你的问题吗? :)
@***Newbie 是的,您可以接受答案!以上是关于PHP:如何排序和维护密钥?的主要内容,如果未能解决你的问题,请参考以下文章