编辑:使用 PHP 的 uasort 进行排序时,这个问题似乎与Preserve key order (stable sort) 重复
有人一直在假设它是稳定排序的情况下对arsort()
解析的数组进行排序。HTTP_ACCEPT_LANGUAGE
但它不是:https://bugs.php.net/bug.php?id=53553。现在我有一个错误,我有点茫然如何在不求助于黑客的情况下修复错误。
我有来自移动客户端的这个标头:
HTTP_ACCEPT_LANGUAGE: de-CH, en-US
这被解析为:
Array (
[de-CH] => 1
[en-US] => 1
)
解析后arsort($array, SORT_NUMERIC)
用于对它们的q值对应的语言进行排序。但是因为德语和英语具有相同的 q 值,所以arsort()
交换了德语和英语。如何对数组进行排序以保留插入顺序?