php 5.5、7.4排序multidim数组最大字段值优先

问题描述 投票:0回答:0

直播网站使用的是php 5.5。 开发站点使用 php 7.4,有朝一日将取代实时站点(并最终升级到 php 8)。 这需要在 php 5.5 上工作,所以如果建议的解决方案在一个版本上工作而不在另一个版本上工作,请注意版本。

原数组按field1排序,从大到小排序。 请注意 $myarray 键也是 field0 中的值。 (我没有编写代码,也不知道为什么会这样。)

$myarray = array (
[10205] => Array (
        [field0] => 10205
        [field1] => 16668
        [field2] => 15
        [field3] => 10
        )

[10225] => Array (
        [field0] => 10225
        [field1] => 16662
        [field2] => 16
        [field3] => 10
        )

[10227] => Array (
        [field0] => 10227
        [field1] => 16666
        [field2] => 10
        [field3] => 104
        )
)

具有 field1 的最大值的期望数组首先倒数到最小的最后一个。

$myarray = array (
[10205] => Array (
        [field0] => 10205
        [field1] => 16668
        [field2] => 15
        [field3] => 10
        )

[10227] => Array (
        [field0] => 10227
        [field1] => 16666
        [field2] => 10
        [field3] => 104
        )

[10225] => Array (
        [field0] => 10225
        [field1] => 16662
        [field2] => 16
        [field3] => 10
        )
)

我试过了

$newarr = array();
foreach ($myarray as $key => $arr) {
    $newarr[$arr['field1']] = $myarray[field0];
}

$newarr1 = array_reverse($newarr, true);

然后,我像之前一样为 $newarr1 重新分配了 field0 的键。

一定有更好更快的方法。 如果你知道一个,请告诉我。

php sorting multidimensional-array
© www.soinside.com 2019 - 2024. All rights reserved.