Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从排序数组中重新运行键的顺序_Php_Arrays_Sorting - Fatal编程技术网

Php 从排序数组中重新运行键的顺序

Php 从排序数组中重新运行键的顺序,php,arrays,sorting,Php,Arrays,Sorting,我在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($

我在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);

?>

试试这个..

$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 )

是的,我已经看过了,我也看过PHP排序函数,但是找不到任何东西,但是没有移动OP周围的值。我不想更改原始数组@我只是做了一些解释
$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 )