繁体   English   中英

从排序数组PHP重新调整键的顺序

[英]Retun order of keys from sorted array PHP

我有一个像PHP一样的数组

$somevar = array(1, 5, 2, 7, 17, 2, 13);

我想对数组进行排序,但不要移动值,所以我得到另一个数组,其中包含索引/键的顺序。

所以我的新阵列会是这样的

{0, 2, 5, 1, 3, 6, 4}

这是键的顺序

这应该适合你:

<?php

    $somevar = array(1, 5, 2, 7, 17, 2, 13);
    $newArray = array_values($somevar);
    asort($newArray);
    $newArray = array_keys($newArray);
    print_r($newArray);

?>

输出:

Array ( [0] => 0 [1] => 2 [2] => 5 [3] => 1 [4] => 3 [5] => 6 [6] => 4 )

试试这个..

$somevar = array(1, 5, 2, 7, 17, 2, 13);
print_r($somevar);
//your array
Array ( [0] => 1 [1] => 5 [2] => 2 [3] => 7 [4] => 17 [5] => 2 [6] => 13 )
asort($somevar);
print_r($somevar);
//After sort
Array ( [0] => 1 [2] => 2 [5] => 2 [1] => 5 [3] => 7 [6] => 13 [4] => 17 ) 
print_r(array_keys($somevar));
//array key sorted array
Array ( [0] => 0 [1] => 2 [2] => 5 [3] => 1 [4] => 3 [5] => 6 [6] => 4 )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM