相关疑难解决方法(0)

使用PHP的uasort排序时保留键顺序(稳定排序)

这个问题实际上是来自SO的另一个问题,我想稍微扩展一下.

有在PHP关联数组是有可能的值进行排序,但其中的值等于保留原始键顺序,使用PHP的内置排序功能的一个(或多个)?

这是我用来测试可能的解决方案的脚本(还没有找到):

<?php
header('Content-type: text/plain');
for($i=0;$i<10;$i++){
    $arr['key-'.$i] = rand(1,5)*10;
}
uasort($arr, function($a, $b){
    // sort condition may go here //
    // Tried: return ($a == $b)?1:($a - $b); //
    // Tried: return $a >= $b; //
});
print_r($arr);
?>
Run Code Online (Sandbox Code Playgroud)

陷阱:由于密钥的原始排列有序,请不要试图通过关键建议任何排序恢复到原来的顺序.我用它们做了例子,命令更容易在输出中直观地检查它们的顺序.

php arrays sorting algorithm

23
推荐指数
4
解决办法
1万
查看次数

标签 统计

algorithm ×1

arrays ×1

php ×1

sorting ×1