我有一个数组:
$temp = Array('a' => 0, 'b' => 0,'c' => 1,'d' => 1,'e' => 0,'f' => 0,'g' => 2,'h' => 0);
我想通过它的值按升序排序:
asort($temp);
print_r($temp);
给出:
Array
(
[e] => 0
[a] => 0
[h] => 0
[b] => 0
[f] => 0
[d] => 1
[c] => 1
[g] => 2
)
但我想保留具有相同值的条目的结构,例如:
Array
(
[a] => 0
[b] => 0
[e] => 0
[f] => 0
[h] => 0
[c] => 1
[d] => 1
[g] => 2
)
我认为这与其说是“排序”,不如说是数组函数 filter/map/walk,但我看不到任何有效的方法来完成这项工作。
更多信息:我需要对多达 500 个值进行排序,大约 3500 次,因此速度和效率至关重要。这些数字将每天增长,因为该过程将在一夜之间运行。
有任何想法吗?谢谢。
编辑:我需要保留键和值,因此使用 asort。我只能按值排序,因为会有多个具有相同值的条目。我的字母示例中的键更容易解释我的查询,但实际上是数字,不会按时间顺序排列。