使用 php usort 进行第二次排序
所以我有相当大的数据数组,需要按两个标准对它们进行排序。
有变量 $data['important']
和 $data['basic']
。
它们是简单的数字,我正在使用 uasort 进行排序 $data
首先按重要,然后按基本。
所以
Important | Basic
10 | 8
9 | 9
9 | 7
7 | 9
usort 函数很简单
public function sort_by_important($a, $b) {
if ($a[important] > $b[important]) {
return -1;
}
elseif ($b[important] > $a[important]) {
return 1;
}
else {
return 0;
}
}
如何将数组重新排序到第二个变量并保持重要顺序?
谢谢大家。
编辑
在此之后添加第三个排序选项怎么样?如此重要>基本>较少的
So Ive got a pretty big array of data and need to sort them by two criteria.
There is variable $data['important']
and $data['basic']
.
They are simple numbers and I am using uasort to sort$data
firstly by important and then by basic.
So
Important | Basic
10 | 8
9 | 9
9 | 7
7 | 9
The usort function is a simple
public function sort_by_important($a, $b) {
if ($a[important] > $b[important]) {
return -1;
}
elseif ($b[important] > $a[important]) {
return 1;
}
else {
return 0;
}
}
How can I re-sort the array to the second variable and keep the Important ordering?
Thanks everyone.
EDIT
How about adding a third sorting option after this even? So Important > Basic > Less
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您确实应该使用
array_multisort()
,但如果您必须使用
usort()
:You really should use
array_multisort()
,but if you must use
usort()
:为什么不简单地使用 array_multisort()
Why not simply use array_multisort()