array_multisort - 如何保持键值,不重置键值,键名保持不变

一维数组如下:

 $arrss=array(
    "10254657"=>"11.25",
    "10254658"=>"13",
    "10254659"=>"250.65",
    "10254660"=>"45.26",
    "10254661"=>"66",
    "10254662"=>"4",
    "10254663"=>"1.26",
    "10254664"=>"59",
    "10254665"=>"55"
);
$keys = array_keys($arrss);
array_multisort($arrss, SORT_DESC, SORT_NUMERIC, $arrss, $keys);
$arrays = array_combine($keys, $arrss);
print_r($arrays);

结果如下:

取前五位,并且保留键值

$arrays=array_slice($arrays,0,5,true);

结果如下

 

多维数组如下:

$array = [
    '2' => [
        'title' => 'Flower',
        'order' => 3
    ],
    '3' => [
        'title' => 'Rock',
        'order' => 1
    ],
    '4' => [
        'title' => 'Grass',
        'order' => 2
    ]
];

$keys = array_keys($array);
array_multisort(
    array_column($array, 'order'), SORT_DESC, SORT_NUMERIC, $array, $keys
);
$array = array_combine($keys, $array);

print_r($array);

结果如下:

参考自:https://www.cnblogs.com/fengliang/p/6193234.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值