Php 排序后重写数组键

Php 排序后重写数组键,php,arrays,sorting,Php,Arrays,Sorting,我已经对$arrs进行了排序,将其更改为$arr3、$arr2、$arr1,我的问题是它保留了它的数组键,我想按其新顺序重写这些键,而不是 $arr1 = [1, 2, 3, 8]; $arr2 = [1, 2, 4, 9, 10]; $arr3 = [1, 2, 5, 11, 12]; $arrs = [$arr1, $arr2, $arr3]; arsort($arrs); 它变成 [2]$arr3 [1]$arr2 [0]$arr1 我曾考虑过将explode()在arsort()之后

我已经对
$arrs
进行了排序,将其更改为
$arr3、$arr2、$arr1
,我的问题是它保留了它的
数组键
,我想按其新顺序重写这些键,而不是

$arr1 = [1, 2, 3, 8];
$arr2 = [1, 2, 4, 9, 10];
$arr3 = [1, 2, 5, 11, 12];
$arrs = [$arr1, $arr2, $arr3];
arsort($arrs);
它变成

[2]$arr3 [1]$arr2 [0]$arr1
我曾考虑过将
explode()
arsort()之后


重新
[write][make]
数组键的最佳和最短方法是什么?

如果不需要保留键,您只需要
rsort

[0]$arr3 [1]$arr2 [2]$arr1

如果您不需要保留钥匙,只需将钥匙重新排序即可

[0]$arr3 [1]$arr2 [2]$arr1

只需使用
数组_值

$arr1 = [1, 2, 3, 8];
$arr2 = [1, 2, 4, 9, 10];
$arr3 = [1, 2, 5, 11, 12];
$arrs = [$arr1, $arr2, $arr3];
rsort($arrs);
print_r($arrs);

这将根据顺序重置键。

只需使用
数组_值

$arr1 = [1, 2, 3, 8];
$arr2 = [1, 2, 4, 9, 10];
$arr3 = [1, 2, 5, 11, 12];
$arrs = [$arr1, $arr2, $arr3];
rsort($arrs);
print_r($arrs);

这将根据顺序重置键。

我认为您需要使用
rsort()
而不是
arsort()
,因为后者将在排序时保留索引,而第一个将重新排序值,而不考虑键。

我认为您需要使用
rsort()
而不是
arsort()
,因为,后者将在排序时保留索引,而前者将对值重新排序,而不考虑键。

为什么不简单地使用then?它的
a
部分维护原始密钥,那么您希望数组如何排序?实际的标准是什么?如果您一开始没有正确排序,那么重置键不会产生任何影响。问正确的问题!!!PHP中的所有排序选项都提供了
a
non-a
版本来保留或重置键。。。。但是你需要选择正确的sort@MarkBaker在第一步中,我按其
计数对值进行排序,然后重置键,@mega6382 answer现在为我解决了这个问题。
usort($arrs,function($a,$b){return count($b)-count($a);})按值计数排序并重置键<代码>uasort($arrs,函数($a,$b){返回计数($b)-count($a);})按值计数排序并保留原始键。。。。问题出在哪里?首先使用正确的排序。。。。一个函数,而不是两个函数,这只是一个函数调用的开销,而不是两个函数调用的开销;代码可读、简短、简洁;它确实做了必要的事情,不多不少。。。为什么不干脆用呢?它的
a
部分维护原始密钥,那么您希望数组如何排序?实际的标准是什么?如果您一开始没有正确排序,那么重置键不会产生任何影响。问正确的问题!!!PHP中的所有排序选项都提供了
a
non-a
版本来保留或重置键。。。。但是你需要选择正确的sort@MarkBaker在第一步中,我按其
计数对值进行排序,然后重置键,@mega6382 answer现在为我解决了这个问题。
usort($arrs,function($a,$b){return count($b)-count($a);})按值计数排序并重置键<代码>uasort($arrs,函数($a,$b){返回计数($b)-count($a);})按值计数排序并保留原始键。。。。问题出在哪里?首先使用正确的排序。。。。一个函数,而不是两个函数,这只是一个函数调用的开销,而不是两个函数调用的开销;代码可读、简短、简洁;它确实做了必要的事情,不多不少。。。KISS@AXAI如果解决方案有帮助,请务必接受它。@AXAI如果解决方案有帮助,请务必接受它。如果我只想反转这些值,那就行了,但我正在尝试按最大计数数组对数组排序,然后将键值更改为与新顺序相同。如果我只想反转这些值,那么这会起作用,但我正在尝试按最高计数数组对数组进行排序,然后将键值更改为与新顺序相同。是的,但问题是我希望更改键值,而不是监督它。是的,但问题是,我希望钥匙被更换,而不是监督它。