【发布时间】:2014-01-29 00:07:27
【问题描述】:
有没有办法在 PHP 中为数组分配“优先级分数”?然后根据该优先级进行排序。鉴于我的意见:
Array(
[princeton] => Princeton
[stanford] => Stanford
[yale] => Yale
[mit] => MIT
[harvard] => Harvard
)
我希望输出始终在顶部有 Harvard 和 Yale,其余按字母顺序排序:
Array(
[harvard] => Harvard
[yale] => Yale
[mit] => MIT
[princeton] => Princeton
[stanford] => Stanford
)
我查看了按字母顺序排列的 asort() 和自定义定义的 uasort(),但我不知道如何“分配优先级”。任何帮助将不胜感激!
【问题讨论】:
-
优先级从何而来?
-
我会听他们的,只有一对,但我不知道如何分配。
-
按字母顺序排序后删除和添加到顶部似乎微不足道
-
使用
uasort,您可以定义两个项目之间的排序。如果哈佛和耶鲁都不是,做一个strcmp,如果其中一个是,让它在另一个之前排序,如果两者都是,返回0(除非你希望哈佛总是在耶鲁之前排序,在这种情况下,你可以再次返回strcmp 当两者都是哈佛或耶鲁时)。