我有一个看起来像这样的数组:$array = array( '5' => 2, '6' => 3, '7' => 10, '8' => 1); 我希望它看起来像这样:$array = array( '5' => 1, '6' => 2, '7' => 3, '8' => 10);键应保持不变,但值应按升序排列。sort()键将被删除并替换为从 0 开始的键。将asort()按照我想要的方式对值进行排序,但它将保持键关联。我尝试过sort(),但这些似乎都不是我需要的排序功能usort()。asort()我必须手动排序还是有可以使用的功能?
2 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
您可以使用 提取数组的键array_keys
,使用 对值进行排序sort
,然后使用 将键与排序后的值组合起来array_combine
:
$array = array(
'5' => 2,
'6' => 3,
'7' => 10,
'8' => 1
);
$keys = array_keys($array);
sort($array);
$array = array_combine($keys, $array);
print_r($array);
输出:
Array
(
[5] => 1
[6] => 2
[7] => 3
[8] => 10
)
- 2 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消